zer0-star / Nim-ACL

ACL (AtCoder Library) implementation in Nim
Creative Commons Zero v1.0 Universal
22 stars 3 forks source link

camelcaseかsnakecaseか? #28

Open chaemon opened 3 years ago

chaemon commented 3 years ago

本家のC++はsnakecaseでクラス名mcf_graph[Cap, Cost], 関数名init_mcf_graphなどと書かれていますが、Nimではcamelcaseが推奨されているようでどっちに統一しようか迷っています。関数名は_や大文字小文字が区別されないので、どっちでも呼び出し可能なのでひとまずC++表記のままにしておきました。

問題は_と大文字小文字が区別されるobject名です。今のところ全部camelcaseでMCFGraphなどと書くようにしています。そういえばMCF(Min Cost Flow)などのように略語の場合はどうするかも迷っています。

どうしましょうかね。。。

haruyama480 commented 8 months ago

MCF(Min Cost Flow)などのように略語の場合はどうするか

別の言語の話ですが、大文字のままと割り切るケースがあります (例. XMLHTTPRequest)

Words in names that are initialisms or acronyms (e.g. "URL" or "NATO") have a consistent case. (略) For identifiers with multiple initialized "words", use for example "xmlHTTPRequest" or "XMLHTTPRequest". https://github.com/golang/go/wiki/CodeReviewComments#initialisms

個人的に、Go言語はキャメルケースで統一していてわかりやすいなと思っています