2014年3月7日金曜日

Golang Cafe #19

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

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

Cafe中に時々「Goらしい書き方を知りたいよね」という話もあったりして、今回から「Twelve Go Best Practices(Go言語の12のベストプラクティス)」を読み進めて行くことになりました。
# 前回は不参加(T_T)だったので...詳しい経緯までは...(^^;)

関数やメソッドの先頭でエラー処理を行って、if文のネストを避けましょう。

 正常処理を書き進める派(?)の方には、最初、違和感があると思います。

可能な場合は処理を関数やメソッドにして重複する記述を避けましょう。

 他のプログラミング言語でも同じですね。同じような処理はまとめましょう。

型switch文を使って、型ごとに処理をしましょう。

 判断基準となる値は抽象的な型になります。Go言語だと「空interface(interface{})」ですね!

型switch文の型アサーションの結果を変数に格納する記述もあります。

 型アサーションした結果を、case文中の処理で使えるようになります。

「全て処理する」か「何も処理しない」

 Cafe中には記述内容から判断して「都度書き出すのではなくバッファリングして最後に書き出しましょう。」とつぶやいていましたが、これはトランザクションのACID特性の「Atomicity(原子性)」のことでしたね(^^;)

関数アダプター

 最初、何のことだかわからなっかのですが、萩野さんが「Javaだとこんな感じになりますよ」とサンプルを記述して下さったのを見て、デザインパターンの「Adapter」パターンの関数版だと理解できました。

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

次回は資料スライドの13ページの「Organizing your code」からの予定です。

0 件のコメント: