2014年3月14日金曜日

Golang Cafe #20

3/9(日)に開催された「Golang Cafe #20」に参加してきました。

参加者は主催の +Takashi Yokoyama さん、+Takanobu Hagino さん、私の3名でした。

今回は「Twelve Go Best Practices(Go言語の12のベストプラクティス)」の13ページの「Organizing your code」から読み進めました。

import文でパッケージを列挙する際は、グループ化して空行で区切って記述しましょう。

 本来の見出しは文は「重要なコードは最初に書きましょう」ですが、import文を空行でグループ化してgo fmtするとグループ単位でソートしてくれることに感動したので、つい...(^^;)

パッケージ名や関数名やメソッド名などのシグネチャーを正しく書きましょう。

 godocで出力されることを意識して、正しく書くようにしておきましょう。

命名は短めに。

 Javaを書いている方は、戸惑うかと(@o@)
 Goの設計思想の一つである「シンプルさ」から考えると納得できるのかも。

パッケージやコードやテストなど、適切に分けて書きましょう。

 手軽に試そうとすると、ついダラダラと記述してしまいがちですよね〜(^^;)
 ちなみに私はこの章で「doc.go」の存在を知りました。

再利用できそうな処理はパッケージ化しましょう。

 私がプログラミングする時は、こちらの「再利用レイヤー(App, AppParts, Generic)」を意識してモジュール化しています。

インターフェースを使って依存性を下げましょう。

 メソッドの引数を具体的な型で定義してしまうとテストケースが用意し辛くなる場合もあるので、インターフェースにして柔軟性を持たせておきましょう...ということなのですが、「具象」と「抽象」の採用判断、難しいですよね...

パッケージの独立性を保ちましょう。

 Goの場合、パッケージ名を1単語で表現しようとしている点で、自ずとカテゴリー化されるというか、複数の機能が一つのパッケージに含まれようとする曖昧さを取り除くことができるので、Goに入ってGoに従った書き方をすれば大丈夫のハズです。

個人的には、今回の部分を学習したことで、標準パッケージのドキュメントやソースを読みやすくなったと感じています。例えば、いろいろとABC順になっていることに気が付くことが出来ました。

詳細&技術な内容につきましては、横山さんや萩野さんのブログをご覧下さい。


次回は資料スライドの25ページからの予定&フェリーでGo〜 q@w@p 

[2014.03.19] 萩野さんのブログへのリンクを追加しました。

0 件のコメント: