SSブログ

Practice, Practice, Practice(2) [プログラマー現役続行]

ソフトウェア開発は専門職であり、そのために、自分自身で技量を伸ばしていく必要があります。以前、「Practice, Practice, Practice」で『The Passionate Programmer』から引用しましたが、再度引用します。。
音楽家は、日々練習をし、そして、その成果として聴衆の前で演奏します。そして、日々の練習では、自分の能力の限界を伸ばすための練習もする訳です。しかし、ソフトウェアの世界では、実際の開発で練習をしている。実際の開発ではなく、自分の時間で練習をする必要があり、それがプログラマーの責任です。
The Passionate Programmer
『Apprenticeship Patterns』内の引用からの引用です。
ソフトウェアでは、仕事で私達は練習しています。だから、仕事で誤りを犯すのです。専門的職業から練習を切り離す方法を見つける必要があります。練習の場が必要なのです。
Dave Thomas※1
初心者は、講義を通してではなく、練習することで学習するのです。初心者は一に練習、二に練習、三に練習です。同じ課題を何度も何度も繰り返すことで、スキルを磨き、テスト駆動開発(TDD)とシンプルな設計の原則に反応するように、体と心を鍛えます。正しく反応するように、脳のニューロンを結びつけて、結び付け直して、さらに、結び付け直すのです。
RobertMartin※2
※1 http://codekata.pragprog.com/2007/01/code_kata_backg.html
※2 http://butunclebob.com/ArticleS.UncleBob.TheProgrammingDojo

ただ、一人で黙々と練習しても、悪い癖が付いてしまっては良くないので、次のように述べられています。
練習の場では、短いフィードバック・ループを取り入れる必要があります。理論的には練習は良いことですが、定期的なフィードバックが得られなければ、おそらく悪い習慣を身に付けていることになります。コーダー道場の良さは、その点です。つまり、親密な職人のコミュニティという環境の中で、人前で練習することです。
Apprenticeship Patterns
悪い習慣、悪い癖を付けさせないためにも、開発組織内では、きちんとしたレビューを行う必要があるのですが、その点の重要性が教育されなかったり、レビューが行われなかったりして、悪い癖のままの人も多いのではないでしょうか。たとえば、メソッド名に安易にcheckXXXと命名してしまうのも、悪い癖ですが、誰からも正されなければ、安易に「check」を使い続けると思います(「checkは危険な言葉」)。
nice!(1)  コメント(0)  トラックバック(0) 

nice! 1

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0