参加者は主催の +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順になっていることに気が付くことが出来ました。
詳細&技術な内容につきましては、横山さんや萩野さんのブログをご覧下さい。
- Golang Cafe #20 - 公式サイト
- Golang Cafe #20を開催しました。 - T.Yokoyamaのブログ
- Golang Cafe #20 まとめ 続「Twelve Go Best Practices」を読む(要約編) - taknb2nchのメモ
- Golang Cafe #20 - Togetter
次回は資料スライドの25ページからの予定&フェリーでGo〜 q@w@p
[2014.03.19] 萩野さんのブログへのリンクを追加しました。
0 件のコメント:
コメントを投稿