各関数を独自のファイルに入れるのはどうですか?

ネガティブ:OOPが何であるかを認識しており、開発で絶えず使用しています。 それとも、そのようなアプローチを怠ってマイナスになっているのは何ですか? 驚くことではないかもしれませんが、すべてをすべて異なるクラスに詰め込む代わりに、単純な関数を使用してプロジェクトを作成できます。 小さな問題を解決するためにクラス全体を書くよりも関数を書く方が便利な場合が多くあります。




プロジェクト開発には興味深いアプローチが1つあります。最近、私はそれを気に入っています。 ポイントは簡単です:関数を書くとき-それぞれを別々のファイルに入れます。 ここで、プロジェクトの多くの場所で使用される関数を意味し、メソッドの何らかの「ライブラリ」を形成します。


現代世界ではこれを行う人はほとんどいません。 このアプローチから得られる利益は何ですか? そして、ここにいくつかあります。


プロジェクトのあらゆる機能のための美しいURL


多くの場合、Githubのさまざまなコードへのリンクを繰り返し送信します。 現在、このリンクはbooleanConditionalというメソッドを正確にbooleanConditionalます。 しかし、このリンクが半年後に指すもの-私たちは半年後にそれを見ていきます:)さて、私は半年後にbooleanConditionalとは関係のない完全に異なるコードのミッシュマッシュがあるとbooleanConditionalます。


関数が独自のファイルにある場合、時間が経ってもオフセットは発生しません。 プロジェクトが修正されてから長い時間が経過した後でも、リンクの関連性が失われることはほとんどなく、同じ機能を指し、さらに現在の現在のコンテンツを指します。


可愛いじゃない?


コードとドキュメントのカプセル化


これで、関数についてのファイル全体が作成されました。ファイル全体については記述できません。 このファイルに書き込まれるすべてのものは、この関数にのみ適用されます。 インポートの設計を説明し、その作業に必要なライブラリを使用しますか? お願いします。 関数がどのように振る舞うべきかを詳細に説明する大きなコメントを書きますか? どうして? 以下に使用例を書いて、同僚と改善方法について議論を始めてください。 この関数の前のバージョンをコメントに残して、必要に応じて元に戻るようにしますか? はい、お願いします、どのような問題がありますか:どのくらい収まるかを書いてください。


機能ごとに個別のファイルを用意すると、創造性のスペースが大幅に広がります。 同時に、すべてが非常に便利で論理的に見えます。 1つの大きな太字ファイルで多数の関数を記述する場合、そのような自由を買う余裕はありません。


VCSの各機能の便利な「ライフストーリー」


最新のバージョン管理システムを使用すると、プロジェクトファイルの変更履歴を確認できることは誰もが知っています。 次に、各機能のライフストーリーを作成することがどれほど便利かを考えます。 また、各関数を個別のファイルに割り当てたという事実によっても可能になります。


プロジェクト機能の便利な検索とナビゲーション


現在のプロジェクトでは、すべてが次のように分類されています。プロジェクトコアとそのモジュールがあります。 カーネルには、さらに5つのフォルダーを含む関数フォルダーがあります。 次のようになります。



各プロジェクトモジュールには独自の機能があり、ほぼ同じ方法で分類されています。


プロジェクトの目的の機能を見つけるのが数倍簡単になり、ほぼすべてのコードエディターを使用できます。主なことは、プロジェクト内のファイル名で検索できることです。 目的地のエリアに従って機能をグループに分割することも、プロジェクトの順序を上げるのに役立ちます。 そして、それは簡単です。すべてをこのようにレイアウトすると、既存の作成されたプロジェクトメソッドを分析するのがはるかに簡単になります。


短所


理論的には、PHPプロジェクトについて話している場合、実稼働環境では、すべての関数を1つのファイルに収集し、多数のファイルではなく1つのファイルをロードする必要があります。 このパフォーマンスの問題を解決するためのコードを書く必要があります(本当に突然問題になる場合)が、これはあなたにとっての質問ではありません。私の友人、habrachchanですか?


JavaScriptの世界では、問題は見当たりません。 そこで、すでに長い間、すべての適切な人々が、さまざまな既製のツールを使用してソースコードを1つのファイルにコンパイルしました。


他のプログラミング言語については、わかりません。




これらはパイです。 私の意見では、プロジェクトでの作業ははるかに楽しいです。 また、このトピックについてどのような意見がありますか?



Source: https://habr.com/ru/post/J311748/


All Articles