人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ソフトウェア開発について質問です。
開発スピードが速くてコードが汚いプログラマと、開発スピードは遅いけどコードがきれいなプログラマは、どちらが優秀でしょうか?
ここで「コードがきれい」というのは、「重複が少ない、変数名や関数・メソッド名がわかりやすい、複数の役割を詰め込んだ巨大なクラスやメソッドがない」などを意味します。

●質問者: DQNEO
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:きれいな クラス コード スピード ソフトウェア
○ 状態 :終了
└ 回答数 : 9/9件

▽最新の回答へ

1 ● deflation
●24ポイント

プロジェクト計画が立てられているならば、プログラマの優劣という判断は働かず、プログラムの品質を確保する観点から、「開発標準」に即したコードをかけるプログラマが求められます。


経験から言えば、「開発スピードが速くてコードが汚いプログラマ」は開発標準を無視する傾向があるので、「開発スピードは遅いけどコードがきれいなプログラマ」を募る結果になります。ただし、自己流で「コードがきれいなプログラマ」は必要ありません。

◎質問者からの返答

「コードが汚い=プログラムの品質が悪い」という考えですね。

ここでいう品質は、「メンテナンス性」のことを指していると解釈しました。

「コードが汚い=メンテナンス性が悪い」ということなら、納得できます。


2 ● code_tk
●22ポイント

チームで働いているなら遅くてもきれいなコードのが引継ぎや修正が楽でいいですね

ただ程度の問題で数千行で完結するプログラムを数週間かけてきれいに作成されても結構迷惑かもですね。Aさんに頼んだら1日でBさんに頼んだら一ヶ月とか

正直この規模だと引継ぎで修正するにしても再作成したほうが早いとかコード読んでもあっという間に終わるので

◎質問者からの返答

* チームでやるなら、遅くてもきれいな方がよい

* 程度の問題

工数が1日vs1ヵ月ぐらい差があると話が変わってきますね。


3 ● うぃんど
●22ポイント ベストアンサー

状況によりけりです

多少の時間をかけてでもコードを綺麗にしていったほうが、将来的に必要とされる時間(増改築やトラブル対応など)の軽減に繋がりますので長い目で見れば優秀ですが、単独で完結する短いコードや他への転用もあまり出来ないようなシステム、場当たり的に作らなければならなくなった場合などに即応できる人材もこれまた優秀です

「結局のところ、どちらが優秀なのでしょうか?」と問われれば「クライアントや上司の求めに応じて、どちらもできる人が優秀」

「では、どちらを目指せば良いでしょうか?」と問われれば「新卒で会社に入ったばかりであれば前者をまずは目指しましょう。中途採用であるなら両方の資質が求められるでしょう」

◎質問者からの返答

* 長く使うシステムなら、きれいな方がよい

* 急ぎで転用がない場合は速い方がよい

* 要求に応じてどちらのスタイルでもできる人が優秀

私の経験上、両方できる人は稀ですね。

生まれ持った性格によるところが大きいと思います。


4 ● a-kuma3
●22ポイント

先の回答の繰り返しになっちゃいますが、「開発スピードが速くてコードが汚いプログラマ」で、品質が高いプログラムは見たことがありません。

その場限りで動いてくれれば良い使い捨てのプログラムであれば、そういう人を使う可能性もあるかもしれません。


結局、コードがきれいかどうか、というのは、設計ができているかどうか、という結果でしか無くて、

の、どちらが優秀か、と考えれば、答えは自明かと。


ちなみに、コーディング規約をきっちり守るが、設計できないプログラマ、というのも存在するので、

見た目が整然としているかどうかだけで、「コードがきれい」とは言えないでしょうね。

◎質問者からの返答

ソーシャルアプリみたいな開発スピードが勝負の世界では、速くて汚いプログラマが活躍する余地はあるかもしれませんね。

設計がきれいでも、競争に負けたら終わりでしょうから。

「コーディング規約遵守」と「設計ができる」は別次元というのには同意です。

コーディング規約は守るのが当たり前なので(機械的チェックもできる)、守らないケースは質問時に想定していませんでした。


5 ● きゃづみぃ
●22ポイント

仕事の面からすると たとえば 一ヵ月に 早く終わらせて 2つ するプログラマと

1つしかできない プログラマがいたら 上司は その早いほうが 優秀だと判断するでしょう。

つまり お金を稼ぐのが 優秀と言えるのです。

しかし 今後、そのカスタマイズが 入った場合、どれだけ時間がかかるのかで

そのソースコードに対しての優劣がつくことでしょう。

つまり、優劣は その時点ではなく その後に決まるのかと思います。

ま、現状では 開発スピードが速い技術者が 求められている傾向が高いかとは思いますが。

でも、質問の答えとしては ソースコードのできがよいほうが 優秀といえるかなと思います。

◎質問者からの返答

「優劣は その時点ではなく その後に決まるのかと思います。」

確かにおっしゃる通りですね。

激しく同意します。

ところで、開発完了時にソースコードの良しあしでプログラマを評価する職場というのは実在するのでしょうか?

現実では、実装スピードで評価されるケースが大半だと思います。


1-5件表示/9件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ