JavaRush /Java Blog /Random-JA /きれいなコードを書く方法

きれいなコードを書く方法

Random-JA グループに公開済み
コードをクリーンで美しくすることは、締め切りを守るための優れた方法です。ロバート マーティンは、次のような賢明な発言で的を射ています。「コード品質の唯一の真の尺度は、何というクソ/分単位です」原文では「」)。 きれいなコードを書く方法 - 1これが何を意味するのか説明しましょう。コードをレビューするたびに、私の脳は次の 3 つの感情のいずれかを経験します。
  • 「なんと!?」一体何だ?!」(嫌悪感を持って) - これは違います...すべてが非常に悪いです....
  • 「なんと!?」一体何だ?!」(感心しながら) - うーん、賢い人がやったね!
  • 「なんと!?」一体何だ?!」(イライラしながら) - ある種の混乱、私たちは一体何を話しているのでしょうか?
では、何が最も重要であり、コードを見たときに正確に何を評価するのでしょうか? それだけです。その純粋さと美しさです。クリーンで美しいコードを書く能力は、高度にプロフェッショナルな開発者の指標です。 このスキルのトレーニングは、知識と作業という 2 つの要素に基づいています。知識はパターン、原則、実践法、ヒューリスティックを教えてくれます。専門的に成長するには彼らが必要です。あなただけが、絶え間ない練習と努力を通じてこの知識をスポンジのように吸収しなければなりません。つまり、きれいなコードを書くのは簡単ではありません。これは大変で骨の折れる作業であり、一生懸命取り組む必要があります。試行錯誤しながら、望む解決策が見つかるまで同じ手順を何度も繰り返すことで改善していきます。これ以上簡単な方法はありません。以下は、きれいなコードの書き方を学ぶのに役立ついくつかのヒントです。

名前って何

ケンドリック・ラマー(アメリカのヒップホップアーティスト - 編集者注)はかつて正確に次のように指摘しました。「本当の話をしようとするなら、自分の名前から始めなければなりません。」 ソフトウェア開発の名前はどこにでもあります。私たちは関数、クラス、引数、パッケージ、プログラムなどすべてに名前を付けます。ソース ファイルや参考書籍、それに関連するすべてのものに名前を付けます。私たちは物事に際限なく名前を付けますが、これはクリーンなコードの作成を目指す上で重要な部分になります。何かに付ける名前は、その意図を反映している必要があります。適切な名前を見つけるのは簡単ではなく、時間がかかりますが、コードを処理する必要があり、状況が複雑になった場合には、時間を大幅に節約できます。したがって、このプロセスには注意し、後でより適切な名前を見つけたら、恐れることなく名前を変更してください。あなたのコードを扱う人は皆、あなたにとても感謝するでしょう。

変数、クラス、関数の名前は、それがなぜ (変数、関数など) 存在するのか、何をするのか、何に使用されるのかという 3 つの主要な質問に答える必要があることに注意してください。

これには、優れた説明スキルだけでなく、一般的な知識と広い視野も必要です。そして、あなた自身以上にこれを教えることができる人はいません。

きれいなコード

「1つの機能」 - 1つのこと

ルイス・ヘンリー・サリバン(アメリカの合理主義者でモダニストの建築家)はかつて有名な言葉を残しました。「機能が形を決定する。 」彼は住宅の建築についてこう言いましたが、本質は変わりません。各システムは、それを正確に記述するためにプログラマーが作成したドメイン固有の言語に基づいて構築されています。関数は言語の動詞として機能し、クラスは名詞として機能します。ほとんどの場合、関数はプログラミング言語の構成において最も重要であり、関数を正しく記述することが、優れたコードを作成するための本質です。高品質な関数を作成するための黄金律は 2 つだけです。
  1. 小さいはずです
  2. 彼らは 1 つのこと、1 つのタスクを実行し、それをうまく実行しなければなりません
つまり、関数は小さくする必要があり、入れ子構造を含めないでください。したがって、関数のインデント レベルは 1 つまたは 2 つを超えてはなりません。このアプローチにより、コードが非常に読みやすく、理解しやすくなります。さらに、関数内の式が同じ抽象レベルにあることを確認する必要があります。関数内で抽象化レベルを混在させると、常に多くの混乱が生じ、最終的にはコードが管理不能になります。優秀なプログラマーは、関数を単なるコードを書くのではなく、語るべきストーリーとして扱います。彼らは、選択したプログラミング言語のツールを使用して、本質的に優れたストーリーテラーとして機能する、豊かで表現力豊かでクリーンなコード ブロックを作成します。

「コメントは悪いコードを補うことはできません」

アメリカのテニス選手であり、ウィンブルドンで5回優勝しているビーナス・ウィリアムズは、次のように言いました。「誰もがコメントを残します。こうやって噂が出てくるんですね。 」コメントは両刃の剣のようなもので、適切に配置されたコメントは非常に便利です。一方で、軽薄で役に立たないコメントほどスペースを乱雑にするものはありません。しかし、最も有害なコメントは、誤った情報や嘘を広めるコメントです。つまり、コメントは一種の必要悪なのです。常にではありませんが、ほとんどの場合。なぜ?それは簡単で、コメントが古ければ古いほど保守が難しくなります。また、ご存知のとおり、ほとんどのプログラマーはコードの変更に伴ってコメントも常に変更するとは限りません。コードは移動し、進化します。コードの一部は前後に移動されますが、コメントはありません。そしてこれが問題になります!

覚えておいてください: コメントがほとんどないクリーンで明確なコードは、複雑で乱雑なコードよりもはるかに優れています。コメントで引き起こした混乱を説明するためにエネルギーを無駄にしないでください。その時間を混乱を解消することに費やしたほうがよいでしょう。

きれいなコード

「コードのフォーマットは常に優先されます」

これは、開発者、ソフトウェア開発に関する多くの本の著者、コンサルタント、アジャイル マニフェストの共著者などである、ほかならぬロバート C. マーティン (ロバート セシル マーティン)、別名ボブおじさんによって言われました。さらに彼は次のように付け加えました。「コードのフォーマットは一種のコミュニケーションです。そして、プロの開発者にとってコミュニケーションは最優先事項です。」 上記の記述は、優れた開発者の最も重要な特性の 1 つを物語っているため、過小評価してはなりません。フォーマットされたコードを使用すると、自分の心を深く見ることができます。私たちは、端正さ、細部へのこだわり、自分の考えを明確に整理して表現する能力で、人々に好印象を与えたいと考えています。しかし、コードを見たときに、始まりも終わりもない、ビネグレットソースを思わせるような混乱が見られた場合、これはあなたの努力を台無しにし、開発者の評判を低下させます。疑う必要もありません!このビジネスで重要なことは、「コードはそのまま機能する」ということだと考えているのであれば、あなたは真実から大きくかけ離れています。現在作成した機能は次のリリースで変更される可能性が高くなりますが、コードの読みやすさは変わりません。コードのスタイルと可読性の良さにより、元のコードが認識できないほど変更された後でも、コードを長期間維持することが容易になります。
将来的に記憶される可能性が最も高いのは、コード自体ではなく、スタイルと一貫性であることを決して忘れないでください。したがって、コードが適切にフォーマットされ、チーム メンバー全員が理解できる簡単なルールに従っていることを確認してください。

まず「try-catch-finally」ブロックを作成します

ジョルジュ・カンギレム(科学史家、哲学者)は、「人にとって間違いを犯すのは自然なことですが、間違いを主張するのは悪魔から来るものです。 」と正しく指摘しました。トラブルシューティングはすべてのプログラマーが行うことです。無効なデータが入力される可能性があり、デバイスが故障する可能性があります。そして開発者として、私たちはコードが期待どおりに動作することを確認する必要があります。問題は単なるエラー処理ではなく、「クリーンで読みやすい」エラー処理です。多くのプログラムはエラー処理に適応しています。これを行うと、すべてが大混乱に陥り、メインコードの目的とロジックが破壊されてしまいます。これは間違っています、こうあるべきではありません。コードはクリーンで信頼性が高く、エラー処理がシームレスかつ自然にコードに組み込まれている必要があります。これは一流のプログラマーの指標です。これを達成する方法の 1 つは、try-catch ブロック内のすべてのエラーを適切にネストしてカバーすることです。これらのブロックはコードのスコープを定義します。try-catch-finally ブロックの try 部分でコードを実行すると、いつでも実行を中止し、catch で再開できることを示していることになります。したがって、コードを記述するときは、try-catch-finally から始めることをお勧めします。これは、試行中にコードで何が問題になったかに関係なく、ユーザーがコードから何を期待できるかを判断するのに役立ちます。
スローするすべての例外には、エラーの場所と原因を特定するのに十分なコンテキストが含まれている必要があることを常に覚えておいてください。創造的で有益なエラー メッセージは、プログラマがまったく別のタスクですでに忙しいときでも、コードが書かれた後もずっと記憶に残ります。
きれいなコード

要約しましょう

珍しいフレーズを 1 つ挙げると、上記のすべてを要約するのに役立ちます。これはコードセンス、または「共通コードの感覚」であり、プログラマの常識に相当する一種です。Robert Martin 氏の言葉を借りれば、「きれいなコードを書くには、多くの小さなテクニックを体系的に使用する必要があります。これらのテクニックは、細心の注意を払って、やや痛みを伴う「清潔さ」の感覚の結果として適用されます。これらの小さなテクニックを総称してコードセンスと呼びます。 」私たちの中には、この「サウンドコードセンス」を最初から持っている人もいますが、継続的な練習を通じてそれを開発する必要がある人もいます。この本能は、悪いコードと良いコードの違いを認識するのに役立つだけでなく、悪いコードを良いコードに変換することを目的とした戦略の形成にも役立ちます。悪いコードはすべてを台無しにします。比喩的に言えば、最もおいしいケーキに犬の糞を混ぜた場合、...ええと、それを好む人はほとんどいないでしょう。コード センスは、プログラマが適切なツールを使用してクリーンなコードを作成するという目標を達成するのに役立ちます。コードセンスとは何かを理解しているプログラマーは、空白の画面上に何年も記憶に残る芸術作品を作成できるアーティストです。ミットのコンピューターサイエンス教授であり、クリエイティブ・コモンズとフリーソフトウェア財団の創設ディレクターであるハロルド・“ハル”・エイベルソンは、次のように要約しています。実行されました。「車」。トピックについて読むことができる内容: 「アジャイル ソフトウェア クラフトマンシップのハンドブック」 - Robert Martin。「アジャイル見積もりの​​ハンドブック」 - マイク・コーン 著者について: Ravi Shankar Rajan は、ムンバイ (インド) 出身のグローバル IT プログラム マネージャーです。有名なブロガー、俳人、熱心な考古学と歴史愛好家。TwitterMediumLinkedIn で彼とつながることができます
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION