スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


このエントリーをはてなブックマークに追加

守破離

規矩作法 守り尽くして 破るとも 離るるとても もとを忘るな
千利休

人気blog「分裂勘違い君劇場」の記事「中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント」という記事が注目エントリになっています。ということで、ひさびさにコメントがてら投稿したいと思います。

あげられているのは、次の三つ。

  • 「変数のスコープは狭いほど良い」と妄信する
  • 「同じロジックのコードを2度以上書くな」と妄信する
  • 「プログラミング言語を極めるのが大切」と妄信する

いかにも議論を呼びそうな内容ですね :-)。既に多くのコメントが寄せられていますが、一言で言えばケースバイケースということにつきます。何にでも例外がありますからね。この辺、言うまでもなく「適切な」判断が一番なのですが、そうはいっても、初心者にとってその判断はなかなか難しい。そこで、「スコープは狭く」とか「コピーはだめ」とかいうコーディングルールになってしまいます。
但し、あくまでこれは「基本」であるということを忘れてはいけませんね。それを忘れて妄信する人はたしかに多いです。そういう人の中では、手段と目的が入れ替わっています。「手段」を妄信するあまり、いつの間にか「目的」の方が「手段」を正当化するための「手段」になっています。まさに本末転倒です。


さて、この手の話でよく引用されるのが「守破離」とう言葉。茶道や武道で用いられる上達に至る経緯を表した言葉です。「守」は、師についてその流儀を習い、その流儀を守って一般的には、「守」の段階ではまず型に従うことに徹して技を磨き、「破」ではその型を破ることで自分の型を見出し、「離」の段階で、元の型から離れ独自の境地に達する。
本質を端的に表した言葉ですが、これを実践するのはなかなか難しい。特に、ステップ移行のタイミング。早ければ独りよがりになり、遅すぎればいつまでも進歩しない。そうならないためには、自分の得意分野をひとつは持ってそれを極めつつ、視野を広くもって周りにも目を向ける。局所最適を防ぐにはほどよいノイズがあるくらいが調度よいものです。


4571300271 【関連書籍】
プログラミング作法 Brian Kernighan Rob Pike
チェンジ・ザ・ルール! 三本木 亮
組込み現場の「C」プログラミング 標準コーディングガイドライン 福田 晃
改訂版 組込みソフトウェア開発向けコーディング作法ガイド[C言語] (SEC BOOKS)
武士道 (岩波文庫) 矢内原 忠雄

【関連記事】
過学習と局所解
このバグ直しますか? - 原因療法と対症療法
ルールを破る時のルール

【関連リンク】
ソフトウェア開発の守・破・離



このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

人気エントリ
最近の記事
本のおすすめ

4274065979

4844337858

482228493X

4904807057

4873114799


最近のコメント
Links
プロフィール
  • Author:proger
  • 組み込み関係で仕事してます
ブログ内検索
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。