web-dev-qa-db-ja.com

プロジェクトの完了後、次のプロジェクトに進む前に何をしますか?

私はコンピュータサイエンスを研究し、ほぼ1年間、非常にアジャイルなJavaプロジェクトで単一の開発者として会社で働いています。プロジェクトはまもなく成功します(少なくとも私はそう願っています!)。

コア機能...は機能しており、start-requirementsに含まれていなかったその他の機能も機能しています。不要な新機能についてはたくさんのアイデアがありますが、プログラムの使いやすさと機能に役立ちます。

プログラムのいくつかの部分は非常にうまく機能しますが、他の部分には私があまり誇りに思っていないコードがあります...

プロジェクトの開始以来、私は多くのことを学んだので、理論的にそれらの部分でより良いコードを書く方法を知っています。

問題:プロジェクトの後、何かをする時間があまりないため、ゼロから書き直すことは不可能です。そして、悪い部分だけを書き直すには、コア機能を深く掘り下げる必要があります->時間がかかります!

私の過ちから学び、次のプロジェクトをさらに良くする方法/戦略はありますか?

プロジェクトの完了後、次のプロジェクトに進む前に他にすべきことはありますか?

8
hamena314

優れた科学のような優れたコードは、同僚のグループによって承認された方法で意図したとおりに機能する/実行する能力を示しています。このアプリが機能する場合は、その方法の一部ですが、おそらくこのコードを公開することはできず、一人で作業しています。

個人プロジェクトを開始します。早いほど良い。これにより、いくつかのことが実行されます。

  1. コードは、コードのドキュメントの優れた形式です。私たちは例から学び、コードについて話し合ったり文書化したりすると、より多くの洞察を得ることができますが、それでもコードは気に入っています。
  2. 他の人にあなたのコードを見てもらいます。 Stackoverflowで特定の質問をします。オープンソースプロジェクトを作成するか、それに貢献します。地元の開発者グループに参加して、彼らに見てもらいましょう。
  3. リファクタリングの練習-プロジェクトの一部を取り、以前のプロジェクトで行った方法を模倣してから、リファクタリングします。変更前と変更後を示すソース管理があります。繰り返しになりますが、コードは重要です。
  4. 新たに見つかったコーディングの知識をテストします。今やるべきだと思う方法で他の部品を組み立てます。うまくいきますか?古い方法より本当に良いですか?あなたの基準は何ですか?より速く、書きやすく、維持しやすいですか?
  5. 極端な機能を追加します。次に、コードが本当に保守可能かどうかを確認します。 RDBMSおよびNosqlデータベース用にその一部を記述します。コマンドラインでも実行できるようにWebアプリをビルドします。誰かがアプリを適切にシャットダウンしないたびに追跡するログファイルを作成します(私はそれがおかしかったと言いました)。

まとめることができるメモやその他のドキュメントはおそらくたくさんあるでしょうが、コードで物事を達成できるときはいつでも、それを実行してください。プログラミングを習得すれば、ほとんどの場合と同じようにプログラミングが上手になり、うまくいけばいくつかの改善策が見つかるでしょう。ピアレビューは、改善している場合に役立ちます。フィードバックを提供できるユーザーのグループに公開されるアプリがある場合はさらに良いでしょう。詳細はわかりませんが、速度の向上、設計の改善、変更/修正を迅速に行う能力が認められます。これは、大規模なプロジェクトである必要はありません。 「これでいいのか、それとも悪いのか」と尋ねるだけです。

1
JeffO