条件文、引数、戻り値指定について考えるスレ【(), [], return】 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2016/12/31(土) 19:12:39.83ID:CS9EEzAV
プログラマが頭を使う部分、オリジナリティを発揮できる部分が、
()の中と、
[]の中だけであって、
その他の部分は、よくよく考えると「決まりに忠実に従うだけ」
のような気がする。

そこで、言語を問わず、if() for() while() の()の中、
関数、クラスの () の中、
配列の[]の中などをどのように記述するかを議論したいと思う。

更に、戻り値のreturnの指定方法についても同時に考えるスレです。
(或いは、break, continueなど)
2016/12/31(土) 19:14:27.22ID:2NsOdIiQ
> プログラマが頭を使う部分、オリジナリティを発揮できる部分

それは名前

クラス名、関数名、変数名
適切なファイルに適切なコードを書いて
適切な名前をつける。

そこが一番オリジナリティをはっきりできる場所だ。
それすらわかってない素人は引っ込んでろ
2016/12/31(土) 19:16:46.22ID:2NsOdIiQ
ぶっちゃけ関数の中なんて適当でいい。

もちろんシンプルであるべきだけどそれは最善の場合であって
最低限、引数と戻り値というインターフェースが
適切であればそれでいい。

そのインターフェースが適切かどうかを判断する
方法の一つが、適切な名前であるかどうかでもある。
2016/12/31(土) 19:18:29.21ID:2NsOdIiQ
関数、クラスなどのインターフェースが適切であれば
テストコードを容易に書くことができる。

テストコードがあれば、中身は後からシンプルに変えることもできる。
重要なのは中身ではなくてインターフェス
2016/12/31(土) 19:18:50.97ID:pO5qSVhA
MZ何とかじゃねーの?
こんなんコンパイラ作りたいと思ってるあほ以外興味ないやろ
2016/12/31(土) 19:25:30.86ID:JCMJkH4b
ワガハイ デハ ナイ。
2016/12/31(土) 19:25:47.13ID:2NsOdIiQ
そもそも従来の if() for() while() は使わない時代になっている。
関数型の文化が取り入れらてきた結果
条件分岐やループを使う機会そのものが減っている。

アルゴリズムと呼ばれるものはたいていライブラリ化されそれを呼ぶだけ。
関数は数行程度にするべきだし、そこにオリジナリティを発揮するようなコードが
出てくることは殆ど無い。シンプルを追求するわけだから、最小のコードに収束する
8デフォルトの名無しさん
垢版 |
2016/12/31(土) 19:43:41.18ID:CS9EEzAV
2NsOdIiQへの反論
そのオブジェクト指向の構造も突き詰めれば
if() for() while() を使用した基本構造からな成り立っている。
各言語や、ライブラリ毎に別々の名前別々の文法が定義され
言語や仕様が変われば、その「名前」や文法は毎回覚えなければ
ならない。それらが滞りなく動くには、それなりに繋げなければ、
ならないし、「繋げる」ためには細かくて複雑で、なおかつ
時と共に変化しやすいルールを沢山覚えなければならない。
それは仕様やルールに支配されている状態と言えるだろう。
それらも大切じゃないわけではないと思う。だけど
2NsOdIiQの意見にはは真っ向から批判したいと思う。
2016/12/31(土) 19:47:27.84ID:+3Mz6rOl
マ板でやれ
2017/01/01(日) 00:16:22.10ID:yOnXwyd5
>>8
それで批判はまだ?
2017/01/01(日) 13:54:13.08ID:IDYigKuX
if() 等の分岐はオブジェクトの多態性(OOPの特性)で、for() の主要な用途である要素の列挙処理も
for() を使わずに配列などのコレクションに対する直接的な作用として記述可能(関数型の影響)で、
さらに、if() for() while() が他と関数(オブジェクト指向の場合はメソッドと呼ぶが)と同様の呼び出し記述
(メッセージ送信)で済ませることが可能な Smalltalk 等の場合、記述は簡潔でルールも少ないまま保たれているよ
12デフォルトの名無しさん
垢版 |
2017/01/01(日) 17:12:28.54ID:SJYwRSMl
2NsOdIiQは情弱
2017/01/01(日) 22:22:13.84ID:Eox67xHv
>>2
被らない名前さえ付けとけば、後でいくらでも変えられるから、適当で良い。
2017/01/01(日) 22:24:04.06ID:yOnXwyd5
>>13
名前をつけるタイミングは問題にしていない
最終的には一番重要な名前を正しくつけろという話だ
2017/01/01(日) 22:24:56.15ID:yOnXwyd5
被らない名前って連番かしら?w

func0001
func0002
func0003
2017/01/01(日) 23:57:12.62ID:SJYwRSMl
名前ってアルゴリズムやデータ構造より大事なん??
なぜ名前が重要?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況