-------- --:-- (--)
それって食えるのか?
プログラミング系のblog、じゃあないな..
2009-06-17 01:22 (Wed)
はまる時間が短い
「『はまる』時間が短い」のは、特徴じゃなくて、結果だと思うけどな >揚げ足取り ;-)
これ以降、幾つか挙げられていることは、全くその通りだとは思う。
> 1. クラスやメソッドの命名が不適切
結局、クラス設計ができてない (してない) んだと思うな。
『「実世界の映しがクラスだ」というのは幻想だ』というのは、ある意味真実だと思うけど、だからと言って、機能名がそのまま付けられたクラス満載のコードを見ると、オブジェクト指向ってことが分かってないんだろうな、と思う。
> 3. 「このままでは何かがおかしい」と感じながら作業を続けている
昔、「この printf() を削除してはいけない」ってコメントを見たことがあるわぁ。
今どきは、「スタックオーバフロー」という単語が、半ば、常識のように使われているので、もうそんなことは無いと思うのだけれど。
> 4. ツールに振り回されている
デバッガに頼りすぎだもんね。
デバッガに頼りすぎちゃうから、ログの出し方が下手で。
「○○をやりました」ってログは大量に出てるんだけど、「××が駄目でした」のログに、その原因が出てないんだよね。
「ふーん、エラーだね」で終わっちゃうじゃん。
どういう状況でエラーになってるかが分からないから、デバッグにかかってる時間の大半は、問題を再現するための時間。
でも、昔の人がデバッガを使いたがらないのも×。
とにかく、print とか display とか入れたがるんだよね。
コンパイルしたら、コードが変わっちゃうじゃん。
きっと、一番大事なことは、最後にさらっと書かれたこの一行だと思うんだ。
> 頭の中で設計しながらサクサクとソースを書く、という感じで
> プログラムが書けるようになってくるものだ。
「書けるようになってくるものだ」になるには、「頭の中で設計しようよ」ってことだよね。
頭の中だけでできないんなら、外に出そうよ。
> ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。
こういう人は、かなり特別な部類で、コードを書いてる最中にも、頭の中でリファクタリングをしてるような人なんだ。
一般人はまねをしないように。
で、自分はどうなんだ、というと、「手が止まらずに」というふうにはなかなかならない。
何かのフレームワークに乗っかるような実装ならいざ知らず、ある程度の固まりを書くときには、クラス図として納得できないと手が動かないなあ。
はまってる時間はどうだろう。そんなに長い方ではないと思うけど、「極端に短い」とはとても言えないな。
はまる時間が長くない(と思ってる)のは、はまった経験はいっぱいあるので、ある程度、【あたり】をつけられるようになったのが大きい、かな。
プログラマーの開発速度は「はまる」時間の長さで決まる
プログラミングを始めてから今日に至るまで、
様々なタイプのプログラマーと開発を共にしてきたが、
驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、
一つ共通の特徴があるように思える。
それは、「はまる」時間が極端に短い、ということである。
これ以降、幾つか挙げられていることは、全くその通りだとは思う。
> 1. クラスやメソッドの命名が不適切
結局、クラス設計ができてない (してない) んだと思うな。
『「実世界の映しがクラスだ」というのは幻想だ』というのは、ある意味真実だと思うけど、だからと言って、機能名がそのまま付けられたクラス満載のコードを見ると、オブジェクト指向ってことが分かってないんだろうな、と思う。
> 3. 「このままでは何かがおかしい」と感じながら作業を続けている
昔、「この printf() を削除してはいけない」ってコメントを見たことがあるわぁ。
今どきは、「スタックオーバフロー」という単語が、半ば、常識のように使われているので、もうそんなことは無いと思うのだけれど。
> 4. ツールに振り回されている
デバッガに頼りすぎだもんね。
デバッガに頼りすぎちゃうから、ログの出し方が下手で。
「○○をやりました」ってログは大量に出てるんだけど、「××が駄目でした」のログに、その原因が出てないんだよね。
「ふーん、エラーだね」で終わっちゃうじゃん。
どういう状況でエラーになってるかが分からないから、デバッグにかかってる時間の大半は、問題を再現するための時間。
でも、昔の人がデバッガを使いたがらないのも×。
とにかく、print とか display とか入れたがるんだよね。
コンパイルしたら、コードが変わっちゃうじゃん。
きっと、一番大事なことは、最後にさらっと書かれたこの一行だと思うんだ。
> 頭の中で設計しながらサクサクとソースを書く、という感じで
> プログラムが書けるようになってくるものだ。
「書けるようになってくるものだ」になるには、「頭の中で設計しようよ」ってことだよね。
頭の中だけでできないんなら、外に出そうよ。
> ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。
こういう人は、かなり特別な部類で、コードを書いてる最中にも、頭の中でリファクタリングをしてるような人なんだ。
一般人はまねをしないように。
で、自分はどうなんだ、というと、「手が止まらずに」というふうにはなかなかならない。
何かのフレームワークに乗っかるような実装ならいざ知らず、ある程度の固まりを書くときには、クラス図として納得できないと手が動かないなあ。
はまってる時間はどうだろう。そんなに長い方ではないと思うけど、「極端に短い」とはとても言えないな。
はまる時間が長くない(と思ってる)のは、はまった経験はいっぱいあるので、ある程度、【あたり】をつけられるようになったのが大きい、かな。
コメントの投稿
コメント



