JavaRush /Java Blog /Random-JA /個人的な経験からテストされた、コードを改善する 10 の方法
Roman Beekeeper
レベル 35

個人的な経験からテストされた、コードを改善する 10 の方法

Random-JA グループに公開済み
JavaRush コミュニティの皆さん、こんにちは! 個人的な経験からテストされた、コードを改善する 10 の方法 - 1 今日はコードの品質について話します。はい、はい、親愛なる皆さん。完璧な人はいません。誰もがいつか、コードをもっと良くできる可能性があることを理解するようになります...しかし、この状況ではどうすればよいでしょうか? 少なくとも、この問題について調査を開始してください。ここに来たということは、そのトピックがあなたにとって興味深いものであることを意味します。それでは、行きましょう。今日は、コードをより良く、よりクリーンにする方法について説明します。将来、現在のコードを恥じることのないように!...)) これらの方法はすべて、プログラマが優れたプログラマになるのに役立ちます。

1. 自分のコードを改善したい場合は、他の人のコードを読んでください

個人的な経験からテストされた、コードを改善する 10 の方法 - 2プログラミング スキルを劇的に向上させたい場合は、他のプログラマが書いたコードを読む必要があります。信じてもいいし、信じられなくてもいい。しかし、リスクを冒せば、その時間に見合った報酬があることを約束します。たとえば、HashMap、ArrayList、LinkedList などがどのように機能するかを Habré で読むのではなく、コードを読んで自分で理解してください。読むべきクラスのリストは次のとおりです。
  1. HashMap は面接で最もよく聞かれる質問です。コードを理解し、必要な知識を得ることができれば一石二鳥です。

  2. ArrayList は HashMap の場合と同じです。複雑なことは何もありませんが、読んで理解する価値があります。

  3. 文字列はその良い例です。なぜ不変なのかを理解してください。

  4. AtomicInteger は優れたクラスです。これは、Integer オブジェクトに対して操作をアトミックに実行する方法のプロセスを記述します。

  5. そして - 少なくともすべてのクラスが連続して...)

もちろん、もっと深刻なことについて話す場合は、Pivo​​tal のコードを読む価値があります。彼らは、Java の世界で最も人気のあるエコシステムを作成しました。彼らのコードは間違いなく読む価値があります。したがって、 Spring Coreから始めることをお勧めします。馴染みのないソース コードを読むのは大変ですが、非常にやりがいのある作業です。)

2. コード規約に従う - コードを記述するための規約

個人的な経験からテストされた、コードを改善する 10 の方法 - 3コーディング規約は、開発チームによって作成された一連のガイドラインであり、企業または特定のプロジェクト内で記述されるコードのあらゆる側面のプログラミング スタイルとテクニックに関するガイドラインが含まれています。これらの規則は通常、各プログラミング言語に固有であり、ファイル構成、インデント、コメント、宣言、演算子、空白、命名規則、プログラミング手法と原則、プログラミング ルール、アーキテクチャのベスト プラクティスなどが含まれます。特定の標準の主な利点は次のとおりです。コードは同じように見え、同じスタイルで書かれています。これにより、コードが読みやすくなり、プログラマが別のプログラマが書いたコードを理解しやすくなります。コーディング標準が遵守され、開発プロセス全体を通じて一貫して適用されれば、将来的にコードの保守と拡張、リファクタリング、統合の競合の解決が容易になります。コーディング規約は、次のようなさまざまな理由からプログラマにとって重要です。
  • ソフトウェアコストの 40% ~ 80% はメンテナンスに費やされます。
  • 作者が生涯にわたって保守するソフトウェアはほとんどありません。
  • コード規約によりソフトウェアの可読性が向上し、プログラマーが新しいコードをより早く理解できるようになります。
正直に言うと、私はコーディング標準の大ファンです。私にとって、それらについて議論したり議論したりすることに時間を費やすことは、将来の時間と労力を節約する貴重な活動であるため、理にかなっています。コード規約は頻繁に見直す必要があります。ルールは「必須」から「任意」に、またはその逆に変換できます。それらの一部が適切に機能しない場合は、再設計するか、ガイドラインから削除する必要があります。

3. コードレビューを使用する - 他の人によるコードレビュー

コード レビューは、コードを改善するための最も強力なツールの 1 つです。 個人的な経験からテストされた、コードを改善する 10 の方法 - 4なぜ?なぜなら、コードを書いたわけではない専門家がコードを調べることになるからです。そして新鮮な見た目は非常に便利です。そして多くの場合、率直に言ってひどいコードの作成を防ぐのに役立つのはコード レビューです。これが常に可能であるとは限らないことは承知しています。なぜなら、これをやりたいと思う別の人を見つける必要があるからです。しかし、これはこのツールを使用する価値がないという意味ではありません。まったく逆です。これは、コードの品質を向上させることも重要である同じ考えを持つ人々を見つける理由になります。ところで、JavaRush でそれらを見つけることを誰が禁止したのでしょうか? 誰もがプログラマーになりたいと思う場所です。

4. 単体テストの作成 - 単体テスト

個人的な経験からテストされた、コードを改善する 10 の方法 - 5コードを改善するための私のお気に入りの方法は、単体テストを作成することです。さらに、書けば書くほど良いものになります。コンピューター プログラミングにおける単体テストは、ユニットと呼ばれるソース コードのテスト可能な最小部分を個別かつ独立してテストして、期待どおりに動作するかどうかを確認するソフトウェア開発プロセスです。これは、コードをリリースする前にアルゴリズムやロジックの障害を特定するのに役立ちます。単体テストではコードの適切な構造が必要となるため、コードをより小さく、より焦点を絞った関数に分割する必要があります。多数の異なる操作を実行する大きな関数ではなく、それぞれが一連のデータに対する 1 つの操作を担当します (よく言われるように、単一責任の原則からこんにちは...) 十分にテストされたコードを記述することの 2 番目の利点それは、既存のコード破壊機能への小さな変更による将来の障害を防ぐことができるということです。障害が発生すると、単体テストによって、何かが正しく書かれていないことがわかります。一見すると、開発中に単体テストの作成に時間を費やすのは追加の出費のように思えます。ただし、これにより、将来的にはデバッグに費やす時間が節約されます。これは段階的なプロセスである必要があります。したがって、すべてのメソッドとクラスのテストを作成してください:D

5. ツールを使用してコードの品質を向上させる

個人的な経験からテストした、コードを改善する 10 の方法 - 6決してミスをしない開発者はいません。通常、コンパイラは構文と算術の問題を捕捉し、スタック トレースを出力します。ただし、コンパイラーが検出できない問題がまだいくつかある可能性があります。たとえば、不適切に実装された要件、誤ったアルゴリズム、誤ったコード構造、または経験からコミュニティに知られている潜在的な問題などです。このようなエラーを見つける唯一の方法は、上級開発者にコードをレビューしてもらうことです。このアプローチは万能薬ではなく、ほとんど変わりません。チームに新しい開発者が加わるたびに、その開発者のコ​​ードを監視する目をもう 1 つ持つ必要があります。しかし幸いなことに、コードの品質を制御するのに役立つツールがたくさんあります。私はさまざまなプロジェクトの作業で Checkstyle、PMD、FindBugs、SonarQube を使用しました。他にもあります。それらはすべて、品質分析といくつかの有用なレポートの生成に一般的に使用されます。多くの場合、これらのレポートは Jenkins などの継続的統合サーバーによって公開されます。

6. シンプルで明確なコードを書く

個人的な経験からテストされた、コードを改善する 10 の方法 - 7常にシンプル、明確、論理的なコードを作成してください。人々は、自分の能力を証明するために複雑なコードを書く傾向があります。シンプルだが論理的なコードは常に適切に機能し、問題が少なく、拡張性が高くなります。良いコードはより良いドキュメントを意味します。コメントの追加を検討している場合は、次のように自問してください。「このコメントが不要になるようにコードを改善するにはどうすればよいでしょうか?」「~スティーブ・マコーネル。

7. ドキュメントを読む

個人的な経験からテストされた、コードを改善する 10 の方法 - 8優れたプログラマの重要な習慣の 1 つは、ドキュメントをたくさん読むことです。仕様、JSR、API ドキュメント、チュートリアルなどを考えてみましょう。ドキュメントを読むことは、最適なプログラミングを行うための強力な基盤を構築するのに役立ちます。最後になりますが、自分を他人と比較しないでください。自分を他人と比較すると、否定的な感情や不健全な競争が生じるだけです。誰もが独自の長所と短所を持っています。したがって、彼らを知り、彼らと協力することが重要です。自分自身を分析し、自分の強みをリストアップし、それに取り組むようにしてください。プログラミングは本当に楽しいものです。楽しんでください。

「ある人にとっての定数は、別の人にとっては変数である。」

アラン・J・パーリス

8. 興味深いブロガーをフォローする

個人的な経験からテストした、コードを改善する 10 の方法 - 9世界中に何千人もの愛好家が同じテクノロジーに取り組み、それについて執筆しています。ブログはプログラマー自身によって書かれることが多く、そのほとんどは個人的な意見や経験を共有しています。ブログでは、同じテクノロジーについてさまざまな視点から見ることができます。ブログでは良い技術も悪い技術も見ることができます。少なくとも、私の記事も含め、 Habré JavaRush :D に関する記事を読んでください。優れたブログをフォローし、投稿にコメントし、意見を共有してください。

9. 専門書を読む

個人的な経験からテストされた、コードを改善する 10 の方法 - 10良い本に代わるものは何もありません。良い本は、基本的な概念をより簡単な方法で教え、現実世界のオブジェクトに適用できます。これらの著者自身も優れたプログラマーです。本を読むことで、他の人の経験から学ぶことができます。「Java」を読むことをお勧めします。ジョシュア・ブロックによる効果的なプログラミング。この本では、プログラマーにとってかけがえのない 78 の経験則が紹介されています。それは、毎日直面するプログラミング上の問題に対する有効な最善の解決策です。これには、効果的で適切に設計されたプログラムを作成するために使用できる、最も実践的で信頼できるガイドラインが含まれています。Java を始めたばかりでプログラミング経験がない場合は、「Sams Teach Yourself Java 2 in 24 hours」という本を読むとよいでしょう。また、クリーンなコードを書くためには、「Clean Code by Robert Martin」という優れた本があります。その後、コードとの関係で「美感」が現れます。

10. コード!コード!コード!

本を暗記するだけでは優れたプログラマーになることはできません。 個人的な経験からテストされた、コードを改善する 10 の方法 - 11理論的な概念について話すのは簡単です。ただし、言語の制限を学習したり、ベスト プラクティスを開発したりできるのは、コードを作成するときだけです。したがって、優れたプログラマーになるには、たくさんのコードを書く必要があります。初心者の場合は、フィボナッチ数列、回文、パスカルの三角形などの単純な問題のプログラムを作成することから始めて、次に二分探索木などのより大きな問題に進みます。 Java プログラムを練習するためのオンライン プラットフォームをお探しの場合は、コーディンググラウンドを見てください。さらに、CS50コースを受講することもできます。その翻訳は「ご存知の方」から提供されました :D

要約しましょう

何もしない人は間違いを犯さない。したがって、私たちは忍耐強く、勤勉な日本人のようにコーディング スキルを磨く必要があります。このためには、次のことを忘れないでください。
  • 他の人のコードを読んでください。
  • コードの確認を実行し、要求する。
  • 単体テストを作成します。
  • ツールを使用してコードを改善する。
  • シンプルでわかりやすいコードを書きます。
  • できた人のドキュメントを読んでください。
  • 興味深いプログラマーをフォローしてください。
  • 専門書を読む。
  • コード!コード!コード!
  • GitHub で Romanを購読します。

役立つリンク

私の記事をもっと見る

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION