2011.11.05 02:05 | EDIT
オライリー社から出版されている,「プログラマが知るべき97のこと」を読みました.

紹介には,

人々のさまざまな思いを技術で形にするプログラマ。本書は世界中で活躍するプログラマによる97本のエッセイを収録した書籍です。
プログラミングにおいてもっとも重要な事柄は何か、バージョン管理やテスティング、設計原則とコーディングテクニック、
また腕を磨くための勉強法などについて、経験豊かなプログラマが自らの体験を踏まえて解説します。
プログラマを勇気づけ、新たな気づきをもたらす一冊です。

と記されています.

97のエッセイが書かれていて,その上日本版にするときに,10のエッセイが含まれています.

その中で印象に残った項目/言葉について少し書きます.

すべて(のプログラム)をゼロから書き直したい衝動にかられることもありますが,その誘惑に打ち勝たなければならない
既存のコードを出来る限り活かすべき.破棄することはそれまでの多大な時間を無駄にすること(一度に大幅な変更を加えるよりも,少しずつの変更を数多くするべき)

人間は必ずミスをする,ということを常に忘れない
見やすく書く,まず自分を疑う

本当に素晴らしいコードを見た時には,プログラムは詩みたいに見える
書かれた文字が全て何かしらの目的を持っていて,しかも見るだけでその目的がどういうものなのかすぐに分かる

コードには書けないことをコメントにする

本当に身に付けたい技術は,コードを自ら書き,手を動かして学ぶ

常に自分よりレベルの高い人と仕事をするようにする
自分よりレベルの高い人が周囲にいないと,学ぶことは難しくなる.誰からでも何かが学べるというのは確かだが,自分よりも賢明で経験も豊富なひとからまなぶことはやはり圧倒的に多い

自分の利用しているフレームワークやライブラリに関する知識を深める
その機能と構造を十分に理解すれば,よりうまく使いこなせるようになる.オープンソースのものなら,デバッガを使ってコードを逐一確認し,中でどういうことが行われているかについて順に見て行けば良い.これは最高に頭の良い人たちが書き,レビューもされたコードを直接目にする絶好の機会となる.

自分が学びたいことを人に教えたり,話したりすることは非常に有効である.
誰かが自分の話を聞き,質問をしてくると思えば,学ぶ意欲は自然に高まる.会社の同僚に昼食をとりながら話してもいいし,ユーザグループや地元で開かれるカンファレンスなどを利用してもよい.

毎年1つ以上新しい言語を学ぶ
少なくとも毎年ひとつ新しい技術,ツールについて学ぶ.未知のものに触れることは,新たな発想のもとになる.(新しく学ぶのは,必ずしもコンピュータ関連でなくても良い)

集中的訓練の目的は,あくまで自らの能力を高めることにある
スキルやテクニックを身につけることが目的.重要なのが反復.能力全体の習熟度を高めていく.何かを完成するのではなく,能力を高めることを目的とする.

エキスパートになるには,一万時間というマジックナンバーがある
素質が無いと心配する必要は無い.必ずエキスパートになれる.

入念に計画された訓練では得意なことに取り組むのではない
自分を鍛え,少なくともまだ得意ではないことに取り組むのである.楽しいとは限らない.


自分が何をすべきかを明確にする
完了する期限も必ず決める.もし予定内に作業が終わらないなら,全て破棄する.初めからやりなおす.「いつの間にか手探り状態になっていた」ということを絶対にさけること.


1. その場しのぎを一切作らない 2. 修正の優先度が上がる体制作りをする 3. 現状のまま何も変えない

初めの頃(以前)に自分が書いたコードを見てみると良い
プログラムの本を読むのも良いが,他人や自分のコードを眺めてみると良い.

ソフトウェアの重要な実装部分をするプログラムはごくわずか
車輪の再発明も成長に繋がる


まだまだありますが,多くなってきたのでこの辺にしておきます.

プログラミングだけでなく,仕事術なんかと重なる項目も結構有りますが,

1. ソースを読む/オープンソースを知ること
2. 新しいプログラミング言語を学ぶ
3. きれいなコードをかけるように新しく知識を入れる

ことは取り組み始めました.

少しずつクリアして”実装能力”も磨いて行きたいですね.


スポンサーサイト
コメント:
コメント:を投稿する

トラックバック: