コード読み取りスキルを向上するにはどうすればよいですか[終了]


13

質問はタイトルにあります-コード読み取りスキルを向上させるにはどうすればよいですか。

私が現在開発しているソフトウェア/ハードウェア環境は、コンパイル時間とシステム全体のテストにかかる時間に関して非常に遅いです。システムは非常に古い/複雑であるため、近い将来、いくつかのより小さく管理しやすいサブプロジェクトに分割することはできません。

開発の進行を本当に妨げるのは、コードを読むスキルであることに気付きました。コードの読み取りスキルを向上させるには、「do compile」キーを押す前でも、デバッガーを起動する前でも、コード内のエラーと問題のほとんどを見つけることができますか?


私は同様の問題に取り組んできました。私たちのチームは、共有キャッシングをサポートする新しいビルドに非常に大きなレガシーコードベースを後付けすることに時間をかけることにしました。ビルド時間とビルドの信頼性を大幅に改善することができました。また、アプリケーションの大規模なビルド済みパーツの使用を開始するのに十分なだけリファクタリングできる場合は、ビルド時間も節約できます。
スミスコ

1
すべてのスキルと同様に、それは練習とより多くの経験を持っている人からアドバイスを求めることでより良くなります。

言語を学ぶように。より多くのコードを読み、あなたの読解力をより習得してください。
スティーブンムー

回答:


1

さらにコードを読む

私は、1つには、認定問題を読むことからある程度まともなコード読み取りスキルを取得しました。

結局、彼らはあなたの言語(私の場合はJava)の知識をテストすることになっています。

より多くのコードを読むほど、より多くの経験を積むことができます。


4

開発環境を可能な限り強化して、使用できるフィードバックを提供します。

最新のIDEは、必要な情報を提供できればLOTに役立ちます。例は次のとおりです。

  • 構文の色付け:ある色の定数、別の色のコメント、3番目の識別子、4番目の文字列など。最近、奇妙なコードが見つかりました...変数は定数は-間違った色がそれを与えました。
  • 単純なコンパイルエラーをキャッチします。ほとんどの言語には、エディターに教えることができる単純な構文があるため、エラーが発生することを事前に通知できます。
  • 複雑なコンパイルエラーをキャッチします。多くのコンパイラーは、IDEにロードできる情報ファイルを生成できるため、特定の関数が受け取る引数の数などを把握できます。

また、プログラム内の論理エラーを識別することができるプログラムが存在します。これを使用して、学習できるプログラムに関するさらに多くの情報を取得できます。

また、IDEは、これらすべてのことを知っているときにソースをナビゲートするのに役立ちます。これにより、すべてを暗記する代わりに物事を簡単に調べることができます

質問を編集して、作業環境と作成するプログラムに関する詳細情報を提供し、より適切な提案を行うことをお勧めします。


1
また、背の高いモニター(または幅の広いピボットモニター)を使用すると、一度に多くのコードを確認できるため、驚異的です。

1

誰もが言ったことに加えて、コードを読む場合は忍耐が必要です(特にあなたのものでない場合)。はい、コードの行ごとに心から読むには練習が必要ですが、それだけの価値があります。また、他の人のコーディングスタイル/トリックも学びます。私が順番にチェックするものは次のとおりです。

  1. 変数名、一致する中括弧、インポートなど
  2. 条件が適切に配置され、エラーがキャッチされていることを確認します
  3. その他すべて-関数の使用など

私はプレーンテキストエディタでのコーディングに慣れているため、Ctrl + Fが私の友人ですが、IDEは特に複数のファイルから読み取る場合に非常に役立ちます。

あなたがコードを書くつもりなら、空白やインデント、コメントを入れることを恐れないでください。正直なところ、それが目を楽しそうに見えないなら、それは頭の痛みになります。


0

コンパイルする前にすべてのエラーを見つけることができたとしても、テストとコンパイルによってチェックします。ポジティブなテストと実行中のプログラムのみを信頼します。

優れたコード読み取りスキルがあれば、コードに関する仮説を立てることができると思います。「おそらくこれはうまくいかないだろう!」とテストします。そしてバグを見つける際に「これが原因かもしれないのでテストしてみましょう」

そこに到達する最良の方法は、自分でコードを書くことです。2番目の最良の方法は、コードが単に本当に優れていて、それ自体を説明することです(それが本当に難しい場合は、コードはあまり良くありません)

それがあなた自身のコードではなく、うまく書かれていない場合、改善する唯一の方法は、実行、実行、実行することです。コードを読み、さまざまなことを試し、それに対してテストを書き、コードベースを知り、リファクタリングします。ツールは、メソッドが使用されている場所、インターフェイスが実装されている場所、変数が宣言されている場所などを見つけることができるツールに役立ちます。


0

過去にも同様の問題がありました-私のコツは、ちょっとしたテストを書き、しばらく机を離れ、戻ってきて、紙の上でテストをシミュレートすることでした。このようにして、コードを新鮮な外観で調べ、特定の値を確認することができます(コードを調べて「ああ...ああ...理にかなっている」と言うのとは異なります)


0

正式なコードレビューのように、各レビュー担当者が異なる責任を負うのと同じように、一度に1つのコード読み取りスキルを習得することに焦点を当てるのがよいでしょう。一連のコードを取得し、1週間(たとえば)悪い変数名だけを探します。潜在的なヌルポインターを探して、来週も同じコードをヒットします。来週は、重複するコードブロックを探します。その後、マルチスレッドの問題など。

さまざまなディテクターに磨きをかけることに専念していたので、コードを読むことができるようになったことがあります。


0

コンパイルエラーについて話している場合、それは起こりません。コンパイラエラーの最善の解決策は、ビルドを中断した人を、他の誰かがビルドを中断するまでビルドをベビーシッターに割り当てることです。あなたはそれを壊し、あなたはそれを修正します。

論理エラーの検出は、防ぐのがはるかに困難です。単純なケースを防ぐ1つの方法は、ユニット/回帰テストを作成することです。


0

今朝耳にした1つのヒント(SEラジオ)では、ファイルを取得して3ptタイプに縮小し、テキスト内のパターンを探します。テキストを読むことはできませんが、あらゆる種類のパターンが表示されます。かなりいいトリックです。

そして、これはコマンドラインがあなたの友人である場所の1つです、grepとパイプラインは多くの有用なことをすることができます。


「ファイルを取得して3ptタイプに縮小しました」-どういう意味ですか-テキストエディタのフォントを3ptフォントに変更するにはどうすればよいですか?

正確には、アイデアは実際の単語ではなく、テキストの形状を確認することです。
ザカリーK

0

私は数年間プログラミングのインストラクターをしていました。この期間、コードを読んでコメントするのに多くの時間を費やしました。これには、コンパイルエラー(常に学生のコードをコンパイルするとは限りませんでした)、論理エラー、設計エラー、および標準化の問題が含まれます。

そのためには、この種のミスに鋭い目を向け、コードを「ドライラン」できるようにする必要がありました。この種の活動は、多くのコーディングスタイルにもさらされました。今日、私のコード読み取りスキルは、その期間にかなり感謝しています。

あなたへの私の提案はこれです:

  • 同僚とコードレビューを行います。
  • コードを自分で処理する前に、コードを読み進めることをお勧めします。
  • コード構造と清潔さ、標準、ロジックについてコメントしてください。
  • これにより、コードの品質とコードの読み取りスキルが向上します。
  • コードのコーディングが完了してからしばらくして、コードをレビューします。こうすることで、「新鮮な目で」評価し、ミスから学ぶことができます。

幸運を!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.