開発者が入社してタスクを受け取るとすぐに、チームの共通プロジェクトに参加する必要があり、最初からコードを書く必要がないことがほとんどの場合判明します。
コードには、特定の原則に基づいて独自のロジックがあり、プログラマーが参加したチームに特徴的なパターンとテクノロジーがあります。 しかし、他の人のプロジェクトはほとんど小さく、ドキュメントがまったくない、または不十分で不正確であるという事実にもかかわらず、他の人のプロジェクトをすぐに理解し始めるにはどうすればよいでしょうか?
「Habr」の読者には、「Habr」プロモーションコードを使用してSkillboxコースに登録すると10,000ルーブルの割引があります。
Skillboxの推奨事項: The Frontend Developer Professionオンラインコース。
実際、最良のドキュメントは、コード自体と、このコードを作成した人です(ただし、まだ近くにいて、退職していない場合)。 どうすれば時間を最小限に短縮し、すぐに仕事に取り掛かり、貢献できますか?
私は、プログラマーとしての私の仕事の最後の15年にわたってこの状況に繰り返し遭遇しました。このテーマに関する私の考えを以下に示します。
プロジェクトの目標と目的
最初にすべきことは、コードを作成しているアプリケーションが実行しているタスクを理解するために少し時間をかけることです。 これは世界的な課題です。 それを解決したら、他のすべてに対処します。
なぜそれが必要なのかを理解せずにプロジェクトに取り組むことはできません。 一般的な理解により、ささいなことを素早く理解することができます。 さらに、あなた自身の仕事はチームの他のメンバーとより調和して実行されます。 れんが造りのレンガ-これが家の作り方です。
建築
メインタスクを学習したら、コード実行とそのロジックの分析に専念します。
一部のプロジェクトのアーキテクチャは、特にこれらのプロジェクトの基本技術があまり馴染みのない場合、かなり複雑です。 最初に、基本的なロジックを確認するために、技術文書を見つける(または同僚に質問する)ようにしてください。
プロジェクトの構造を念頭に置いて、他のチームメンバーが関与している他のすべての部分の機能を妨げないように、作業を迅速に開始できます。
プロジェクトには、一般的なロジックに違反するフラグメントが含まれる場合がありますが、アイデアとアーキテクチャを知っていれば、問題を修正したり、「ブリック」を一般的な建物に完全に収まるように再配置または変更できます。
パターン
開発者がコードを記述するときに使用するパターンは多数あります。 これらは、構造的パターン、「行動」、技術的その他です。 それらはすべて、プログラムを設計する際に一般的な問題を解決する方法を類型化するのに役立ちます。
現在のプロジェクトで使用されているパターンを理解すると、クラスレベルでコードに関数を組み込む方法を理解するのに役立ちます。 その結果、一般的なロジックとパターンに対応する一貫性のあるコードを作成できます。これにより、最終的にコードに関するコメントが大幅に少なくなり、コードの理解が深まり、必要に応じてエラーを迅速に排除できます。
このプロジェクトで少し作業を行ったので、コードのどのセクションが全体的な構造に適合し、何がリファクタリングを必要とするか一目で理解できるようになります。
ガイドライン
ほとんどのチームには、特定のルールがあります。むしろ、全員が行動するルールのセットがあります。 これは、作業の一般的な原則だけでなく、クラスとアプリケーションレベルの使用に関するものでもあります。 チームの代表者が同じガイドラインに従っている場合、開発されたコードは理解しやすく、読みやすくなります。
ほとんどの場合、参加するチームには学習する必要があるガイドラインもあります。 まず第一に、それらは開発中の主要なものであるプログラミング言語に関連しています。
プロジェクト、そのアーキテクチャ、テンプレート、ガイドラインに関するすべての情報の入手先を尋ねることができます。 上記で既に表明されているものを除き、必要なものを取得する方法はいくつかあります。
- 無関係な情報と思われる情報も探してください。 チームが使用する一般的な用語、略語、概念の独自の知識ベースを構築します。
- このデータベースが準備できたら、同じ言語を既に話しているため、プロジェクトマネージャーと関心のあるすべての問題について話し合うことができます。
- さらに、プロジェクトの全体的なアーキテクチャについて、アプリケーションアーキテクトおよびチームリーダーと話す価値があります。 次に、このアーキテクチャとそれに関連するコード最適化手法について詳しく学習してください。 あなたの意見では、アプリケーションの一般的なロジックに違反するものを見つけた場合は、必ずチームリーダーと話し合ってください。
- チームメイトから、コードの作業中-作成中とメンテナンス中の両方で、どのパターンとルールが使用されているかを調べます。 主なポイントがわかったら、何が最も効果的かを比較し、将来的にそれに応じて行動します。
- 潜在的かつ実際の問題からコードのセクションをきれいにしてみてください-これは、プロジェクトとそのコードをより深く理解するのに役立ちます。 チームはコードをクリーンアップするために何を使用していますか?
一般的に言って、リファクタリングは、どのガイドラインを検討し、どのガイドラインを将来使用すべきかについての議論にチームを参加させるための最良の機会です。
自分の経験をチームと共有し、作業ミーティングに積極的に参加し、現在の問題、アプリケーションとその要素、テンプレート、その他の重要なポイントのアーキテクチャについて議論します。 仕事の会議は、より多くの情報を得るための信頼できるチャネルです。 彼らの観察/成果、誰に役立つかについて話す価値があります。
その結果、すぐに作業を開始できるだけでなく、チームに参加して、かけがえのない参加者になることができます。
もちろん、あなたはコミュニケーションが難しい人々に会います。 コードに問題が発生します。 しかし、これはほとんど常に起こります-すべてが完璧であるチームがありますが、それらは少数です。
Skillboxの推奨事項:
- 実践コース「Mobile Developer PRO」 。
- オンラインコース「ゼロからC#開発者 。 」
- 2年間の実践コース「私はPRO Web開発者です。 」