jfluteの日記 このページをアンテナに追加

2015-06-07

SEゼミ、リーダブルコード勉強会のフォロワー参戦

|

プログラミングが好きな学生のための勉強会

Workshop for OSS Hack Weekend
Vol.1 Readable Code

に、フォロワーとして、参加させて頂きました。

もりだくさんの一日

普段の大人(!?)が集まってやる勉強会とは違って、
学生さんを支援するというちょっと新鮮なイベント、
しかも、テーマがリーダブルコードということで、
かなりの「ワクワク感」と「うまく協力できるかな!?」
って不安感も同時に抱いて参加しました。

ここ数年、新卒研修講師や若手のフォローイングなどで、
慣れていたこともあり、とにもかくにも、
学生の皆さんと良い交流ができたかなーって。
というか、ついこないだ新卒研修のJava研修を
やり終えたばかりですから、その延長みたいな笑

あと、前に立ってずっとしゃべったり、
ずっと立ちっぱなしでフォローイングしたり、
普段も変わらずそんな感じなので、
体力的にはわりと平気でした。

いまはちょっと「ホッ」としています。

...

「答えを教えるな!一緒に考えてあげて」

っていう、メンターポリシーも、
普段jfluteが先輩たちに口酸っぱく言っていることと
まったく同じで同感だったので、やりやすかったです。

普段、jfluteのフォローを知っている人であれば、
こいつらを思い出すかと(^^
 => 答えよりも答えを導くプロセスを | jfluteの日記
 => 新人が眺める思考の流れ | jfluteの日記

あと、学生さんたちの積極性にもたくさん助けられました。
自らこうだ、ああだ、と試行錯誤をすでに体得されていて、
すごいなぁと感心するばかりです。
懇談会でもたくさんお話ができて、
楽しい時間を過ごすことができました。

本当にみんなありがとう。

実はリーダブルコード読んだばっか

実は、リーダブルコード、
今回の件で初めて読みました。
良い本ではあることは聞いていたのですが、
きっかけがなくって...急いで読みました笑。

多くのことが自分の考えとまったく一致していて、
ちょっとびっくりしたのが正直なところです。
あと「ホッ」としたってところも。

普段、経験から来るセオリーの積み重ねで、
リーダブルを考えて実践してしていましたが、
世間一般はどうだろうか?独自の解釈もあるかな?

「恐らくjfluteだから世の感覚とズレてるだろう!」

って、脳裏に焼き付く一抹の不安…(笑) だった部分が、
「ああ、やっぱそうだよね、そう思うよね」
の連続。
やった!もうちょい自信持って言えるなぁって笑

読み手のことを考える

たぶん、このシンプルな意識を突き詰めると、
たどり着くところは自然とだいたい同じになるって、
ところなんじゃないかなって。
(まあ、ある程度は解釈の違いとかもあるけど)

...

この本はまた、「必ずこうである」ではなく、
ケースバイケースのニュアンスも含んでいて、
本当にセオリックに丁寧に書いてあるのが印象的です。
リーダブルを考えさせる「答えではなくヒント」を
提示しているって感じがとても安心して読めます。

リーダブルであるための秘訣

学生さんからの質問で、
「リーダブルであるための秘訣がありますか?」
的なものがあって、
回答されるメンター多数で時間もなかったのと、
さすがにちょっとひく!?かなと思って笑、
そこでは言わず、懇談会でだけ話したことが
あるのですが...

ぼくは、普段歩きながら実装をしています。
自転車や電車の中、ごはん食べながら、
お風呂の中、布団の中、何かの待ち時間とかも。
頭の中でそれまでに書いたコードを再現して、
そこで悩み考え、新しいコードをイメージして、
パソコンが開けるタイミングになったら、
そのときに一気に書き出す。

まあ、わりと多くの人がやっているものではありますが、
それを極端に意識的に狙ってやっています。
OSS開発は、まとまった時間がなかなか取れないから、
隙間時間を最大限利用しないと先に進まないので。

で、これをやるためには…

「コードがリーダブル」じゃないと、
「頭の中でそれまでに書いたコードを再現」
ができないのです。

o 人の記憶に残りやすく記憶に負荷をかけないコード
o パッと見のイメージで内容のわかるコード

名前や文脈、フォーマットや見た目もこだわります。
形状のノイズは記憶の負荷、
コードの「絵的な形」を覚えるわけなので。

そして初めて、
四六時中プログラミングができるんです。
 => 四六時中プログラミング | jfluteの日記

…
…

うーん、人に言いづらい...

WebでのJava

これは今回の勉強会の内容とは無関係な話ですが、
やはり、Java って Webの世界では弱いよなぁと、
あらためて感じたところもあります。

別に今日だけでそう思ったわけじゃないですが、
積み重ねも合わせて今日も思ったというところ。

スタートアップの道具にはなかなかならない、
それはなぜか?

ある程度、理由は分析して行動はしているのですが、
もっともっとWebの世界を知ることで、
その行動をもっと深めることができるはずなので、
そういう意味でも参加させてもらったことは、
とても意義のあることで感謝感謝です。

たくさんのありがとう

スタッフのみなさま、運営お疲れさまでした。
この人数のイベント運営、大変だったかと思います。
会場提供のフリークアウトさん、
素敵な場所をありがとうございました。

トレーナーの須藤さん、本当にお疲れさまでした。
メンターも成長するとても良いイベントでした。

「いいところ」を指摘するって文化、
プログラマーではなかなか無いものですが、
良いところのセオリーを理解することが、
逆に悪いコードを直すセオリーに使える、
すごくそんな気がしました。
普段のレビューで良いとこ出しもやってはいましたが、
もっと堂々とたくさん出していきたいなって思いました。

...

要は、KPTのKEEPをソースコードにも、って感じかな...。
ソースコードに「いいね」ボタンが欲しい!?笑

…
...

そして、なによりも学生のみなさん、
ありがとうございました。またどこかで会いたいねー。

// Twitter: jflute
https://twitter.com/jflute

【追記】
第三回にも参加してきました!
 SEゼミ、HackOSS 4 Beginnersのフォロワー参戦