2020-11-15

anond:20201115004233

名前付き引数という仕組みはこの問題をかなり筋良く解決しているように思う。

例えばSwift

func set(hoge: Int)

を呼び出す時は

obj.set(hoge: 42)

と書く。

メソッドオーバーロード名前単位可能なので、func set(fuga: Int)も定義できる。

Swiftアクセサメソッドなんて書くことはないというのはともかく。(例なので)

名前付き引数があるとかなり関数命名が変わり、hogeFromFuga(int fuga)やfooWithBar(string bar)が単にhoge(piyo: Int)やfoo(bar: String)になる。

記事への反応 -
  • 長過ぎるとわかりにくいし端折りすぎると何がなんだかわからなくなる

    • 文字数というか単語数が多いとわかりづらくなるよね。 できればget/setみたいなシンプルな一単語にしたい。 まあたいていは二語以上にはなっちゃうけど、三つ以上だと長く感じる。 一...

      • 1語に出来るのはinitializeや主処理のexecuteくらいのもんで 基本1語は無理やろ

        • まあ確かに1語だけで済むケースは少ないと思う。 でも、冗長な名前になってるなっていうのはあって、例えば void setHoge(Hoge hoge) みたいなのだと、パラメータの型名でHogeをsetするのは...

          • 名前付き変数という仕組みはこの問題をかなり筋良く解決しているように思う。 例えばSwiftで func set(hoge: Int) を呼び出す時は obj.set(hoge: 42) と書く。 メソッドのオーバーロードも名前単位...

          • どのプロパティ追加してんのか分からなくなるしリファクタリングしにくくなるからダメ

            • どのプロパティかは型名見ればわかるじゃん?まあ同じ型の違うプロパティが複数あったらダメだけど。 リファクタリングはIDEに任せればいいと思う。

              • 同じ型だけど違うプロパティなんて無限にあるぞ。特に真偽値、数値、文字列なんて無限に違うプロパティあるぞ。それで型だけで勝手にsetできるわけがない。仮に一つの型は一つのプ...

                • そうだね。setterの種類を型名で区別するのは無理があるなと書いてて思った。 例が悪いなすまん。

                • Haskell ならできるよ。そしてそれが理想のかたち。 hoge を set したい。hoge の型は Hoge だから setHoge かな… みたいな思考はコンピュータ側に任せるべき。

          • セッターがhogeしかないならまあいいけど set(Hage hage)とかあるとやだわ

    • わかる まず英語が難しい

    • ここお勧め。 https://codic.jp/engine

    • atodenaosu

    • hoge,piyo,fooでおk 引き継ぎなんか知るか😜

    • なんか、目的に合わせてメソッド名を決めてくれるサイトがあったような気がする。そんなことより、言語にある命名規則を学ぼう。

    • 悩む時間がアホらしいから最初は超適当に付ける。 後で気になったら改良した名前にリネームする。

    • 関数、変数名は一文字か一文字プラス添え字に統一したし。ギリシャ文字とか駆使しまくればなんとかならん?

    • 一文字で。例→ f(x, y) = 2*x +3*y

    • プログラミング歴6ヶ月目ぐらいで同じこと思ってたな あと一年続けると悩まなくなるよ

    • 下手に英語使うとつづりだとか意味だとか文法だとか複数形単数形間違って恥ずかしい思いするしな・・・ Gitだから永久に残るしな・・・

    • コードレビューしてもらうとか、ほかの人のコードを読むとかすると何かヒントになるかもね。 まあ、関数名をつけるのが難しい時は得てして関数に機能を詰め込みすぎているというこ...

    • プログラマだけど、これに関していつも思うのはそもそもプログラミング言語が英語ベースなのがよくないということ。 機械語が人間にわかりにくいから自然言語をベースにしたんだろ...

      • そもそも単数形・複数形って何だよそもそも言語に必要なのか? おっしゃるとーーーり

    • リーダブルコードちゃんと読んでるようだな。 いい傾向だわ

    • 一概にそうとは言い切れないが(語彙力不足とか)、 複雑な名前を必要とする変数や関数やクラスは、その設計がまずいケースも多い 有機的なつながりを持たない雑多な機能・振る舞いが...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん