プログラミングの「守破離」
思考実験中
守破離 は、『利休道歌』にある「規矩作法 守り尽くして破るとも離るるとても本を忘るな」を引用したものとされている(守破離 - Wikipedia)。
ここではこれを前提に、プログラミングに読み替えてみる。
table:プログラミングの守破離
原典 プログラミング
守 教わった型を徹底的に守る プログラミングの基礎知識、プラクティス、組織での常識
破 自分に合った型を模索し既存の型を破る 新しいフレームワークを作る
離 型から離れて自在となる チームのルールを作る、組織の常識を更新する
開発プロジェクトでは、守 を実践しつつ、必要に応じて破を交えて開発を進める
守:
プラクティス: Pythonなら、 可変長キーワード引数の濫用は危険、とか
組織での常識: BeProudなら、WIP PR 出そう、レビューチェックリストを用意しよう、とか
破:
QCDのバランスを取るために、メンバーの知識レベルを超える技術を導入する
メタプログラミングで可変長引数を書く(書くしかない)
ペアプログラミングしてコードレビューを省略
離:
チームのルールを作る。守ること、破ることを再構成してルール化する
チームのルールを組織に還元する
守は、流派によっても異なるため、デキる技術者なら誰でも知っている、というものばかりではない
Rookieは実践で守と破を見分けられない
守 がまだ身についていない状態
破 を見よう見まねで実践してしまい、守るべき所で破ってしまう