私は自分で書いた小さなプロジェクト(Pythonでは3000行)を持っています。既知のバグはなく、まともな部分もありますが、時間がないために大部分が混乱しています。残念ながら、私はコードの作成と保守を続ける人でなければなりません。
経験豊富な開発者を雇い、要件を説明し(文書化されていないため、口頭で)、コードをレビューしてリファクタリングする(私との緊密な話し合いで)のは良い考えですか?
私はそれを懸念しています:
(a)この作業は非常に煩わしいため、経験豊富な開発者はやりたくないでしょう。
(b)要件と現在のコードの機能を説明するのに非常に多くの時間を費やすので、実際の作業を自分で行う方が速くなります。
私はそれが正しい道だとは思いません。お気づきのように、要件とコードの現在の状態を説明するには、すでに多くの時間がかかります。その隣に、レビュー担当者の調査結果を理解して議論するために必要な時間を置き、コードの修正を行います。
さらに、レビュー担当者がタスクを実行していることをどのようにして知ることができますか?そして、彼があなたと同じような考え方を持っていることをどのように確認しますか?これがないと、レビュー結果は「<レビューアによる最新かつ最高のプログラミングパラダイム>に準拠していないため、この聖なるがらくたを書き直す」と類似している可能性があります。したがって、上記に適切なレビューアを見つけて選択するコストを追加します。
このオプションを検討するのは時間の不足だけですか?それ以外の場合は、コードをより高い標準に改善する能力に自信がありますか?
もしそうなら、タスクと将来のコード変更が指示するように、私は段階的 リファクタリング を提案します。これは、達成可能な小さなステップで作業することにより、時間の不足を克服することを目的としています。触れるたびにコードを少し改善してください。時間の経過とともに、小さな改善が大きな違いを生むでしょう。
そうでない場合は、とにかく学ぶ必要があり、レビュータスクをアウトソーシングしてもその助けにはなりません。
最後になりましたが、コードを長期的に効率的に維持できるようにするには、コードのメンタルモデルを念頭に置いて、コードを深く理解する必要があります。そして、このメンタルモデルを構築して維持するプロセスを外部委託することはできません。
経験豊富な開発者の必要性がここにあるのかわかりません。
率直に言って、3k行のコードはそれほど多くありませんが、最初に10〜12個の管理可能なコンポーネント(クラス/メソッドなど)に切り刻んで、そこから取得するのを妨げているのは何ですか?
そして、あなたの状況を考えると、個々のコンポーネントの機能をチェックする一連の単体テストを強くお勧めします。
ほとんどの人は、3K行のコードはあなたが作っているように見える巨大なものではないことに同意します。コードが一度に1つの小さなことを実行することになっていることの背後にあるロジックを文書化することができます。
要件を口頭で共有することは決して良い考えではなく、誤解、実装のエラー、および当事者間のフォールアウトへの扉を開くだけです。きれいな絵ではありません。 :)
物事を適切に文書化し、それをプロジェクトへの投資と考えてください。それが行われると、それはスペードで報われます。ほとんどの場合、コードを書くよりも、コードを読んでいることを忘れないでください。何よりもまず、物事が読みやすいことを確認してください。
適切にリファクタリングしてコーディング方法を変更する方法(3000以上の行クラスは不要)に関するガイダンスが必要な場合は、 クリーンコード-アジャイルプログラミングのハンドブックを読むことをお勧めします。