「メソッド名」分ける必要なくね?【オーバーロード】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
これは完全に俺の理論なんだが
・例えばメソッド名は「any」とか「do」とか統一でいいと思う。
(引数個数と型によって呼ばれるメソッドが変わるオーバーロードがあるから)
・慣れたプログラマだったらコード読むときにメソッド名はなく引数でとか
静的型付け言語だったら型で処理を判断するだろ。
・メソッド名は同じクラス内で引数の型と個数、戻り値型が
全部被って初めて分けるべきだと思う。
・可読性はそんなに落ちないと思う。
落ちたとしても、print 系コマンドで値を出力する記述の手間が
格段に上がる(メソッド名を変えなくていい)し、
引数のバリエーションを変えて、挙動の確認が
やりやすくなる。デバッガを使えば、中間状態の値なんて簡単に
確認できる。だからメソッド名分ける必要はない。
・反対にメソッド名統一しとけば保守性、互換性、拡張性は格段に上がる。
・さらに特定の意図をもって「methodA」や「methodB」みたいに「グループ化」
するという使い方をすれば、何らかの使い分けできて便利だと思う。
・いちいち長いメソッド名を「メソッド1つ1つ」に割り当てて「意味付け」する
必要が全くない。 どんな設計書を記述して
それをどんな実現方法で実現して欲しいのか
思想が見えない
ただ、奇をてらっただけのアホなアイディア >>55
エントリポイントが1個で済むからリロケータブルで配布する時に楽 アホか
IDEの支援が受けれない
コンパイル時にエラーチェックされない
実行にエラーがでるまでバグが隠れる 同じ型を取ってもオーバーロードしたいときがたまにあるんだが
しかも総称型のときは引数1つ余計に増えるんだが メソッド名は動詞だけで十分、引数が目的語を担うからメソッド名に目的語を入れるのは邪道
という話に勝手に勘違いしてた a.add(b)
add(a,b)
(add a b)
lisp使えば全部引数っぽいぞ
オブジェクト指向の文法はperlやpython見ればわかるが1番目の引数をオブジェクトとして必ず渡すってルールと変わらない
関数、メソッド名をarg0と考えれば要素の羅列でしかない
>>1
人と話す時、全ての引数を読み上げるのか?
ドキュメントにいちいち長い引数羅列するのか?
ぼっち趣味プログラマなのか とりあえずなんか具体的なもん出してくれりゃいいのに
FOOとかBARじゃわからんわ なんかこの手の人の思考としては
具体的なもの書いたらそれに引きずられるから書かないみたいなことを
思ってるんじゃないかね。
実際はそれだとまったく中身のないコードになってしまうわけだが。
確かに具体的なものがだらだら書かれるのはよくないけれど、
重要なことは抽象概念と具体的なものがどこでどうつながっているかが
明確なことだと思う。
明確ならばリファクタリングするなりで抽象部分を抜き出すのはそう難しいことじゃない。 でもプログラミング言語なら四則演算ぐらいは出来ないと話にならないから
その方面から攻めていけば?
例えば「足し算」と「掛け算」の記号やメソッド名が同じだった場合
どうやって区別すればよい?
型で区別するっつっても、その型の場合は常に引き算になるとか
意味わからないことになるよ do(print ”helo” print)
こうですか? ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
SPZ1O メソッド名はbindとfmapとreturnの3つだけでいい。 >>864
>>72
bind(String)
bind(Number)
bind(WeakReference)
bind(Set)
bind(Map)
bind(List)
こんなソースを書くんだろうなw メソッドのオーバーロードくれっていうそれだけの要望では? JSはまじでオーバーロードほちい
でも引数型が被る被らないってジェネリクスがなかった時代の話だよな?
ジェネリックメソッドは引数が一つなら問答無用で被るから名前を分けるしかない
ただdebugIntとかdebugStringとか型で分ける必要はない ■ このスレッドは過去ログ倉庫に格納されています