タグ付けされた質問 「libraries」

ライブラリは、独立したソフトウェアを開発するためのデータやサービスを提供するリソースの集まりです。

8
「コア」ライブラリが悪い考えになるのはいつですか?
ソフトウェアを開発するとき、私は多くの場合、さまざまなプロジェクトで共有および参照できる便利なコードを含む集中型の「コア」ライブラリーを持っています。 例: 文字列を操作する関数のセット 一般的に使用される正規表現 一般的な展開コード しかし、私の同僚の一部はこのアプローチを避けているようです。バグが修正されると、多くのプロジェクトで使用されるコードを再テストすることによるメンテナンスのオーバーヘッドなどの懸念があります。今私はこれをいつすべきかを再考しています。 「コア」ライブラリを使用することが悪い考えとなる問題は何ですか?

8
ホイールの再発明とは何を意味しますか?
以下のシナリオは、あなたの本の中で「車輪の再発明」として数えられますか? ソリューションは存在しますが、使用したい言語ではありません。既存のソリューションは、使用したい言語とクリーンで慣用的な方法でインターフェースすることができません。 原則として、既存のライブラリーに大幅な変更を加えて目的の機能を実行させることができますが、最初からやり直す方がおそらく簡単だと思います。 あなたが書いているものは、すでに行われているものと同じ1行の説明ですが、異なるニッチをターゲットにしています。たとえば、問題は以前に何十億回も解決された可能性がありますが、大規模なデータセットでは効率が悪く、コードは大規模なデータセットでうまく機能します。

5
ライブラリに求められる基本原則は何ですか?
プログラミング言語で好きな構文と機能について話します。ここで、お気に入りの(または任意の)言語のライブラリで、コアとなる原則または機能についてお尋ねしますか? 例として、リスト+ =リストエレメントのみを許可するのではなく、リスト+ = anotherListを追加することが有効です(ただし、これは悪い考えと見なされる場合もあります)。

1
デスクトップアプリケーションおよびWebプロジェクトで使用される可能性のある共有ライブラリの作成
私は過去1年ほどの間、私たちの会社で多数のMVC.NETおよびc#デスクトッププロジェクトに携わってきましたが、他のプロジェクトにも(もちろん、読み取り専用の学習能力で)鼻を突っ込んでいました。 このことから、さまざまなプロジェクトやチームにわたって、優れたインターフェースや抽象化に対してうまく設計された機能がたくさんあることに気づきました。私たちは時々私たち自身の仕事を好む傾向があるので、私はいくつかのプロジェクトがまったく同じクラスを持っていることに気づきました。もともとそれを書いた) この事実については、時折プログラマーミーティングの1つで言及し、この機能の一部を企業のコアライブラリに組み込んで、長期にわたって構築して複数のプロジェクトで使用できるようにすることを提案しました。誰もが同意し、私はこの可能性を検討し始めました。 しかし、私はかなり早い段階で障害に遭遇しました。現在、私たちのチームは主にMVCに焦点を当てており、主に2.0にプロジェクトがありますが、3.0に分岐し始めています。また、いくつかの共有クラスや基本的なヘルパーメソッドの恩恵を受ける可能性のあるデスクトップアプリケーションもいくつかあります。 最初にこのDLLを作成するときに、すべてのプロジェクトタイプ(Web、クライアントなど)で使用できるいくつかの共有クラスを含めましたが、MVCアプリケーションでのみ役立ついくつかの共有モジュールの追加を検討し始めました。しかし、これは私が作成していたクラスのいくつかを活用するために、いくつかのMicrosoft Web DLLへの参照を含める必要があったことを意味しました(この段階ではMVC 2.0)。 今私の問題は、クライアントアプリケーションでも使用できるWeb固有のライブラリへの参照を持つ共有DLLがあることです。それだけでなく、DLLは最初にMVC 2.0を参照し、最終的にすべてのプロジェクトでMVC 3.0に移行します。しかし、このライブラリのクラスの多くはまだMVC 3などに関連していると思います このDLL内のコードは、次のような独自の名前空間に分離されています。 CompanyDLL.Primitives CompanyDLL.Web.Mvc CompanyDLL.Helpersなど だから、私の質問は: このような共有ライブラリを作成してもよろしいですか、またはWeb固有の機能が含まれている場合、特定のフレームワークまたはMVCバージョンのみを対象とする別のWeb DLLを作成する必要がありますか? 問題がなければ、たとえばMVC 3プロジェクトでMVC 2を参照するライブラリを使用するときにどのような問題が発生する可能性がありますか。ある種の互換性の問題、またはライブラリを使用している開発者がMVC 2.0ライブラリが必要であることに気付かない問題に遭遇するかもしれないと私は考えています。彼らはいくつかのジェネリッククラスなどを使いたいかもしれません コンセプトは当時は良いアイデアのように思われましたが、おそらく実際的な解決策ではないのではないかと考え始めています。しかし、テスト済みのコードであることが証明されているため、プロジェクト間でクラスやメソッドがコピーされるのを目にした回数は、完全に正直であることに少し不安を感じます! 更新:私が採用したBernardsの回答に加えて、良いアドバイスのようです。ただし、MVC 2とMVC 3の両方のプロジェクトでおそらく役立ついくつかの共有クラスを作成したいと思います。ただし、最初に共有クラスを作成するには、共有アセンブリがMVCフレームワークの1つを参照する必要があります。 上記の第2四半期をさらに詳しく説明します。 MVC 3 Webソリューションが必要な場合、MVC 3を具体的に参照するCompanyDLL.Web.Mvc3プロジェクトを共有する必要がありますか?これは、CompanyDLL.Web.Mvc2ソリューションからこの新しいMvc3共有プロジェクトにすべてのコードをコピーすることを意味しますか? 共有アセンブリの作成、および異なるフレームワークバージョンに対するビルドと参照の基本的な設計スキルが不足しているようです。または、それを吸い込んでCompanyDLL.Web.Mvc2、CompanyDLL.Web.Mvc3、CompanyDLL.Web.Mvc4などのライブラリを作成するだけの簡単な場合もあります...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.