プロフェッショナルなソフトウェア開発者の隠れたワークフロー

多くの人は、ソフトウェア開発とは単にコードを打ち込むことだと思っています。暗い画面に向かって猛スピードでタイピングしている姿を想像するでしょう。しかし、それは仕事のたった20%に過ぎません。

残りの80%は目に見えません。それは、最初の一行を書く前に起こります。この作業こそが、プロと、一日中自分のミスを修正して過ごす人々を分ける境界線です。

シニア開発者は時間の20%から40%を計画に費やします。これは先延ばしではありません。リスク管理なのです。一度リリースされたコードを変更するのは、コストがかかります。

堅実な計画フェーズとは、以下のようなものです:

• 問題を自分の言葉で言い換える。簡単に説明できないなら、まだ理解できていない証拠です。 • 制約を特定する。速度、締め切り、既存のシステムについて考えます。 • 解決策をスケッチする。箇条書きや簡単な図を使って、データの流れを可視化します。 • 不明点をリストアップする。作業を始める前に、何を調査する必要があるかを確認します。

プロの開発者は、ドキュメントを読むことにも多くの時間を費やします。フォーラムの回答を流し読みするだけではありません。公式のAPIリファレンスやソースコードを読みます。これにより、古くて壊れた手法を避け、本番環境でバグを引き起こすエッジケースを見つけることができます。

大きなタスクを始める前に、以下の習慣を試してみてください:

• 既存のソリューションを調査する。すでに存在するものをゼロから作らないこと。 • トレードオフを評価する。特定のニーズにどのツールが適しているかを判断します。 • リスクのある部分をプロトタイプ化する。アイデアが機能するかどうかを確認するために、小さなテストスクリプトを書きます。 • チームメイトに聞く。5分間の会話が、数時間の作業を節約することもあります。

ついにコードを書くとき、読み手を意識してください。あなたの読み手とは、次にそのコードを読む人です。その人は、6ヶ月後のあなたかもしれません。

クリーンな状態を保つコードを書く:

• 正確な名前を使う。「data」のような汎用的な名前は避け、「pendingInvoices」などを使用します。 • 関数を小さく保つ。関数は一つのことをうまくこなすべきです。 • 「何をしているか(what)」ではなく「なぜそうするか(why)」を説明するコメントを書く。コードを見れば何をしているかは分かります。コメントは、その理由を説明すべきです。 • チームのパターンに従う。一貫性は個人の好みよりも重要です。

コードレビューも不可欠です。それは単なるチェック項目ではありません。知識を共有し、リスクを捉えるための手段です。優れたレビューは、単なる構文(シンタックス)ではなく、意図とロジックに焦点を当てます。

真のエンジニアリングは、思考、読解、そして調査の中で行われます。タイピングは、単なる最終ステップに過ぎません。

Source: https://dev.to/lui_were/the-hidden-workflow-of-professional-software-developers-1d74