ブログあしみの

ひろいこころでコラムを書いています。アフィリエイト広告を利用しています。

「他の人が最短時間で理解できる」コードと「頭がいい」コードの両立が難しい。

史上最大 ワンダーアフロ・黒

 

より良いコードを書くためのシンプルで実践的なテクニックまとめ - あしみの 日記 ←この記事の続きです。

 

コード書いてて思ったけど、「他の人が最短時間で理解できるコード」と「頭がいいコード」の両立が難しい。処理の重複を抽出(メソッド化)すればするほど、「他の人が最短時間で理解できる」に遠ざかる。

 

「他の人は最短時間で理解できる」のためには、ずらずら書いた方がいいんだろうな。でもずらずら書いてそれテストすんのやだしな。「頭がいい」ほうがテストは減るからな。

 

それでやっぱり重複抽出しちゃうよねー。「これぐらい読めばわかるだろ」って思って書いてもレビュアーに「これなにしてんの?」って言われるしな・・・結局説明している。

 

「他の人が最短時間で理解できる」って「他の人が考えなくても理解できる」に近いのか・・??コードがネイティブ言語のように思考に入っていくというか。それなら「頭のいい」コードなんて書くなって話だ。メソッドに飛ぶたびに考えるだろ。でも適切なメソッド名なら悩まんからいいのか・・・メソッド分割の仕方がいかんのか?

 

むずかしいな。今日も結局「DB値:『0』オフ、『1』オン」の値をBooleanで取得するとき、「(DB値)=1」じゃなくて「Boolean(DB値)」でとったよ。例によって0と1のどっちがTrueか一瞬迷ったよ。だって「=1」ってださいじゃん。そもそもこれはDB値がBoolじゃないのがいけない気がしてきた。

 

本当に頭のいい人は「他の人が最短時間で理解できる」と「頭がいい」を両立してんだろーな。コーディングは芸術だ。明日もプログラミングなう\(^o^)/

 

 

あわせて読んでね!

東大卒はすごい!という話→
東大卒の人に「(受験勉強を)頑張ったんですね」と言ったら

優秀な新人の話→
優秀な新人は「先輩に聞く」ができる 仕事でわからないことを先輩に聞いていいか?