エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

名前、大事!

今日はコードレビュー。言語はC++
関数の説明を求める。いろんなことをやっている関数。関数名はやっていることを表していますか?とたずねると、悩まれてしまった。コードレビューとしては失格だった−−コードをレビューしなくはいけないのに、書いた人の方にフォーカスしてしまったから−−という点には目をつぶってもらって、ここで悩むということは問題の関数がなにをやっているのかきちんと把握していないか、あるいは考えをうまくコードに表現できていないからじゃないかと思います。
関数を作るということは、一連の手続きのまとまりに名前をつけること。そうやって構造化だったり抽象化だったりの階段を上っていくのだと思います。

平鍋さんは、名前>構造>処理>コメント、の順序でこの意図を表現したいとおっしゃってますが*1、同感です。