19
より速くコーディングする方法(品質を犠牲にすることなく)[完了]
私は数年間プロのコーダーをしています。私のコードに関するコメントは一般的に同じです。優れたコードを記述し、十分にテストされていますが、より高速になります。 それでは、品質を犠牲にすることなく、より高速なコーダーになるにはどうすればよいですか?この質問のために、私はスコープをC#に制限します。それは主に(楽しみのために)コーディングするものであるか、またはJavaであり、これは多くの点で重要です。 私がすでにやっていること: 仕事を成し遂げる最小限のソリューションを書く 多数の自動化されたテストを書く(リグレッションを防ぐ) あらゆる種類の再利用可能なライブラリを作成(および使用)する よく機能する場所でよく知られた技術を使用する(例:Hibernate) 所定の位置に収まるデザインパターンを使用する(シングルトンなど) これらはすべて素晴らしいですが、時間の経過とともに私の速度が向上しているとは感じません。私がやる私が(でも10%)私の生産性を向上させる何かを行うことができれば、それは私の競合他社よりも10%高速ですので、注意して。(私が持っているわけではありません。) それに加えて、小規模なFlash開発であろうとエンタープライズJava / C ++開発であろうと、私は常にマネージャーからこの報酬を受け取りました。 編集:私が速いとはどういう意味か、そして私が遅いことをどのように知っているかについて多くの質問があるようです。さらに詳細に説明します。 私は、さまざまなプロジェクトやさまざまなテクノロジー(Flash、ASP.NET、Java、C ++)で、さまざまな企業の中小規模チーム(5〜50人)で働いていました。私のマネージャー(彼らは私に直接言った)の観察は、私が「遅い」ということです。 これは、私の仲間の多くがスピードのために品質を犠牲にしたためです。彼らはバグがあり、読みにくく、保守しにくく、自動テストを書くのが難しいコードを書きました。私のコードは一般に、十分に文書化され、読みやすく、テスト可能です。 Oracleでは、他のチームメンバーよりも一貫してバグをゆっくりと解決していました。私はそのことに対するコメントを得るので、これを知っています。これは、他の(はい、より上級で経験豊富な)開発者が、ほぼ同じ品質(読みやすさ、保守容易性、テスト容易性)で、私がかかった時間よりも短い時間で作業を行えることを意味します。 どうして?私は何が欠けていますか?どうすればこれを改善できますか? 私の最終目標は単純です:今日40時間で製品Xを作成でき、明日20、30、または38時間で同じ製品を作成できるように、なんとか改善できるなら、それが知りたいことです-どうやってそこまで行くの?継続的に改善するためにどのプロセスを使用できますか?コードを再利用することだと思っていましたが、それだけでは十分ではないようです。