未来永劫

メリーバッドエンドが好きです.

リーダブルコード勉強会に参加してきました.

 今年の夏はOSS開発で最高の夏にしような

ということでチョットデキルメンターさんの皆様に囲まれてSEゼミさん主催のリーダブルコード勉強会に参加してきました.

目的は人のリーダブルなコードを盗むということ.

 

私は,研究でタスクの評価に関する研究をしていたので,他人のコードを評価するという企画に惹かれて参加しました.

 

しかし,実態は

×コードを評価(レビュー)する

◯ コードのリーダブルなところを発見する

 

技術や早さを競うのではなく,

また,コードの間違いなどを指摘するというわけでもありません.

いかに読む人にとって読みやすいコードを書くかという点が重要視されていました.

(そしてどれだけ書けるかとかも求められていません.最低限文法が理解できて,自分で調べることができれば大丈夫だと思いました. デバッグもメンターさんが新しい視点を提供してくれたのでなるほどと思うことが多かったです.)

 

実際に体験してみて 

意識して人のリーダブルなコードを発見するという作業,意識して自分がリーダブルだと考えて記述した事を主張するというのは非常に新鮮でした.

自分が日常的に当たり前だと思ってやっていることが他人にとってはリーダブルであったり,普段書かないような記法で書いてあるコードが私にとってはリーダブルであると感じることが出来ました.

また,(ちょっとどころか現役の超優秀エンジニアの)メンターさんに直接レビューして頂けました!

意識して書いたコードに気づいて頂けたことはやはり嬉しかった!

 

本で書かれている「可読性の高いコード」は綺麗にわかりやすく加工されたものですが,それ以外(OSSや野生のリーダブルなコード)を実践的に学ぶ機会は中々ないですよね.

私にとっては,良い意味で期待を裏切られた形になりました.サイコー!

 

その後の懇親会では

また,自分は機械学習系に興味があったので,その筋に強い方とコンタクトをとってお話することができました.

非常に有意義! やっぱり与えられた機会は逃さず参加するもんですね. 
 
 

勉強したことを箇条書きにメモ

一番はじめに実装したいことをコメントで箇条書きにし,その箇条書きの通りに実装していく.

最初に「やりたい!」と考えた事が伝わるほうがいいよね.その機能が実装できる度にコミットすれば他の機能追加が無いから,コミット内容も美しくなるよね.
 
コメントアウトしたコードはコミット時には消す.
(読む側にとっては)冗長なだけなので不要.前述したやり方をしてたら,機能毎のデバッグも難しくないはず.
 
(困ったときに)グーグル先生に頼るのも良いが,実際にGitHubで公開されているコードから学ぶ
OSSを読む力がつく.同じ内容でも,より良い方法で実装しているかもしれない(しかもmergeされている以上は,ある程度動く保証がある).
また,一度読んだことはちゃんとに自分の中のDBに格納される.
 
(OSS)を読む練習をするなら,GitHub Awardなどで上位のユーザを参照すると良い.
実際に評価されている人なのでコードを見ると間違いなく勉強になる.
 

広告

 6月20日にはGitHub勉強会,27日にはOSSに関する勉強会,7月11,12日には本番のOSS開発が行われるので,興味がある方は是非一緒に行きましょう.
http://www.seplus.jp/sezemi/