Closed universato closed 2 years ago
最大流はMFGraph、最小費用流はMcfGraphというクラス名になっています。 この2つでクラス名の規則が異なっていて、気になったのでIssueを立てました。 他のDSUやSCCGraphを考えると、最小費用流をMCFGraphに変更するとスタイルが整合します。
なお、本家AtCoderのC++ライブラリの命名の影響でMFGraphのような名称になっていると思いますが、 本家のC++と異なり、アンダースコアのないキャメルケースは区切りがわかりにくく、略語が何なのかもわかりにくいです。 以上を踏まえて、いっそクラス名とファイル名をSCC, MaxFlow, MinCostFlow等に統一してしまった方が、いいかもしれません。
参考までに、他の言語の命名状況を貼っておきます。
大文字の使用規則 - Framework Design Guidelines | Microsoft Docs
パラメーター名を除くすべての識別子に使用される PascalCasing (パスカル ケース) 規則の場合、次の例に示すように各単語の最初の文字 (2 文字を超える頭字語を含む) を大文字にします。 PropertyDescriptor HtmlTag 2 文字の頭字語には、特別な大文字と小文字の区別が使用され、次の識別子に示すように、両方の文字を大文字にします。 IOStream
パラメーター名を除くすべての識別子に使用される PascalCasing (パスカル ケース) 規則の場合、次の例に示すように各単語の最初の文字 (2 文字を超える頭字語を含む) を大文字にします。 PropertyDescriptor HtmlTag
2 文字の頭字語には、特別な大文字と小文字の区別が使用され、次の識別子に示すように、両方の文字を大文字にします。 IOStream
もし名称変更するなら早めにIssue立てた方がいいかなって思ったのもあって、無知に色々と雑にIssueを立ててしまいましたが、こういったルールをとるものもあるんですね。
パスカルケースに変更済みなのでclose
本題
最大流はMFGraph、最小費用流はMcfGraphというクラス名になっています。
この2つでクラス名の規則が異なっていて、気になったのでIssueを立てました。 他のDSUやSCCGraphを考えると、最小費用流をMCFGraphに変更するとスタイルが整合します。
なお、本家AtCoderのC++ライブラリの命名の影響でMFGraphのような名称になっていると思いますが、
本家のC++と異なり、アンダースコアのないキャメルケースは区切りがわかりにくく、略語が何なのかもわかりにくいです。
以上を踏まえて、いっそクラス名とファイル名をSCC, MaxFlow, MinCostFlow等に統一してしまった方が、いいかもしれません。
参考
参考までに、他の言語の命名状況を貼っておきます。
追記
大文字の使用規則 - Framework Design Guidelines | Microsoft Docs
もし名称変更するなら早めにIssue立てた方がいいかなって思ったのもあって、無知に色々と雑にIssueを立ててしまいましたが、こういったルールをとるものもあるんですね。