(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

命名規約の境界線

今開発に携わっているプロジェクトでは、 APIJava で書かれていて、僕らが作っている Rails アプリケーションから API を叩き JSON 形式で結果を受け取り、フロントに Angular.js なんかを使って表示している。
これ、やってて凄く気持ち悪い瞬間があって、 RailsRuby の命名規約に従うので snake_case なんだけど、 APIJava で書かれているのもあって JSON の key は camelCase で書かれていたりするし、フロントは JavaScript なので camelCase だったりする。

これで問題なのはお互いに渡すパラメタのせいで、 snake_case と camelCase が混在するコードが生まれてしまうことで、本当は綺麗に何処かに隠蔽出来るんだろうけど、ちょっと流石にもうそれをやるのは凄く大変な状態になってしまっていて手のうちようがない感じなのがつらい。

なんていうか、開発言語の慣習に則って命名規約を守ろうとするわけなんだけど、複数の言語が混ざったときのその境界線を何処に設定するかって凄く大事だなって改めて思っている。でなければ camelCase で書いている最中に突然 snake_case が出てきたりして混乱することになる。ちなみに CoffeeScript だったらもう snake_case で書いていいかなーって思っている。

そんな感じのことを少し考えていた。