言語固有の構造は別として、PHP、javascript、java、および python でプログラミングしている人にとって、クリーンなコーディングで必ず行うべきトップ 10 は何ですか? コードをできるだけきれいに保ち、できるだけ読みやすくしたいと思います。たとえば、関数本体の開き括弧を関数宣言と同じ行に配置する場合と新しい行に配置する場合はどうすればよいでしょうか? また、たとえば (x==10) と ( x == 10 ) の間の間隔はどうなっていますか? クリーンなコーディングに役立つヒントをいただければ幸いです。
3 に答える
ここに役立つかもしれないいくつかがあります:
- 変数とメソッドに直感的な名前を付ける
- 特定の言語コーディング スタイルを使用します(たとえば、Java と C++ では、ブラケットに異なるスタイルを使用します。特定の言語規則に従って選択します)。
- 何が起こっているのか、なぜ起こっているのかについて常にコメントを入れてください。
- ただし、コメントでコードを汚さないでください。
- 可能であれば、設計パターンを統合してみてください。再利用性とメンテナンスに役立ちます
- すべてを 1 つのメソッドにまとめないでください。各メソッドは1 つのことを実行し、それを非常にうまく実行する必要があります(これにより、メソッドの読み取り/理解/テスト/デバッグが容易になります)
- コードにハードコードされた文字列を入れないでください
- アプリケーション データとアプリケーション コードを分離します。つまり、コードの構成をハードコーディングしないようにしてください。
- コンパイラより賢くなろうとしないでください。他の人も理解できるコードを書き、コンパイラーに最適化を任せる
- 意図を示す方法でコードを記述します。7 か月以内にデバッグする必要があるか、他の誰かが修正/拡張する必要があるかもしれないということを頭の片隅に置いてコードを記述します。なぜあなたが何かをしたのかを7ヶ月後に思い出すことは不可能です(コメントは良いですが、時には十分ではありません). あなたのコードを修正しようとしている貧しい人は言うまでもありません
もっとたくさんあると思いますが、これらはどの言語でも役立つと思います
参照:
http://misko.hevery.com/code-reviewers-guide/
http://misko.hevery.com/attachments/Guide-Writing%20Testable%20Code.pdf
そして、この応答からのリンクを確認してください。
https://stackoverflow.com/a/10359288/1268570
Misko Hevery によるクリーン コード トークをご覧ください (Google 社員に提供)
http://www.youtube.com/watch?v=wEhu57pih5w&feature=player_embedded
http://www.youtube.com/watch?v=RlfLCWKxHJ0&feature=player_embedded
http://www.youtube.com/watch?v=-FRm3VPhseI&feature=player_embedded
http://www.youtube.com/watch?v=4F72VULWFvc&feature=player_embedded
これらは避けるべき警告サインです: (Misko Hevery より)
- コンストラクタまたはフィールド宣言での new キーワード
- コンストラクターまたはフィールド宣言での静的メソッド呼び出し
- コンストラクターでのフィールド代入以上のもの
- コンストラクターの終了後にオブジェクトが完全に初期化されていない (初期化メソッドに注意してください)
- コンストラクターでの制御フロー (条件付きまたはループ ロジック)
- コードは、ファクトリまたはビルダーを使用するのではなく、コンストラクター内で複雑なオブジェクト グラフの構築を行います。
- 初期化ブロックの追加または使用
- デメテルの法則違反: メソッド呼び出しチェーンは、複数のドット (.) を含むオブジェクト グラフをウォークします。
- シングルトンの追加または使用
- 静的フィールドまたは静的メソッドの追加または使用
- 静的初期化ブロックの追加または使用
- サービス ロケータの追加または使用
これはきれいなコードを書くことについての素晴らしい本です:
http://books.google.com.mx/books/about/Clean_Code.html?id=dwSfGQAACAAJ&redir_esc=y
私の意見では、本当の答えはありません。慣例に固執するのが良いルールです。これは通常、コミュニティが既に慣れ親しんでいる妥当な慣例です。アイデアを得るために、数冊の本をお勧めします。
Java/C++/C#/VisualBasic については、以下をお読みください。
Code Complete: ソフトウェア構築の実践的なハンドブック
Java を多用する側では、以下から有用な洞察を得ることができます。
Clean Code: アジャイル ソフトウェア クラフトマンシップのハンドブック
これら 2 冊の本の概念は一般的に妥当なものであり、特定の言語に縛られるべきではないことを考慮してください。