板検索:
条件文、引数、戻り値指定について考えるスレ【(), [], return】 (34)
まとめビュー
1
デフォルトの名無しさん[]   投稿日:2016/12/31 19:12:39  ID:CS9EEzAV.net(2)
プログラマが頭を使う部分、オリジナリティを発揮できる部分が、
()の中と、
[]の中だけであって、
その他の部分は、よくよく考えると「決まりに忠実に従うだけ」
のような気がする。

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

更に、戻り値のreturnの指定方法についても同時に考えるスレです。
(或いは、break, continueなど)
コメント2件


2
デフォルトの名無しさん[sage]   投稿日:2016/12/31 19:14:27  ID:2NsOdIiQ.net(4)
> プログラマが頭を使う部分、オリジナリティを発揮できる部分

それは名前

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

そこが一番オリジナリティをはっきりできる場所だ。
それすらわかってない素人は引っ込んでろ
コメント2件

3
デフォルトの名無しさん[sage]   投稿日:2016/12/31 19:16:46  ID:2NsOdIiQ.net(4)
ぶっちゃけ関数の中なんて適当でいい。

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

そのインターフェースが適切かどうかを判断する
方法の一つが、適切な名前であるかどうかでもある。

4
デフォルトの名無しさん[sage]   投稿日:2016/12/31 19:18:29  ID:2NsOdIiQ.net(4)
関数、クラスなどのインターフェースが適切であれば
テストコードを容易に書くことができる。

テストコードがあれば、中身は後からシンプルに変えることもできる。
重要なのは中身ではなくてインターフェス

5
デフォルトの名無しさん[sage]   投稿日:2016/12/31 19:18:50  ID:pO5qSVhA.net
MZ何とかじゃねーの?
こんなんコンパイラ作りたいと思ってるあほ以外興味ないやろ

6
片山博文MZ ◆T6xkBnTXz7B0 [sage]   投稿日:2016/12/31 19:25:30  ID:JCMJkH4b.net
ワガハイ デハ ナイ。

7
デフォルトの名無しさん[sage]   投稿日:2016/12/31 19:25:47  ID:2NsOdIiQ.net(4)
そもそも従来の if() for() while() は使わない時代になっている。
関数型の文化が取り入れらてきた結果
条件分岐やループを使う機会そのものが減っている。

アルゴリズムと呼ばれるものはたいていライブラリ化されそれを呼ぶだけ。
関数は数行程度にするべきだし、そこにオリジナリティを発揮するようなコードが
出てくることは殆ど無い。シンプルを追求するわけだから、最小のコードに収束する

8
デフォルトの名無しさん[]   投稿日:2016/12/31 19:43:41  ID:CS9EEzAV.net(2)
2NsOdIiQへの反論
そのオブジェクト指向の構造も突き詰めれば
if() for() while() を使用した基本構造からな成り立っている。
各言語や、ライブラリ毎に別々の名前別々の文法が定義され
言語や仕様が変われば、その「名前」や文法は毎回覚えなければ
ならない。それらが滞りなく動くには、それなりに繋げなければ、
ならないし、「繋げる」ためには細かくて複雑で、なおかつ
時と共に変化しやすいルールを沢山覚えなければならない。
それは仕様やルールに支配されている状態と言えるだろう。
それらも大切じゃないわけではないと思う。だけど
2NsOdIiQの意見にはは真っ向から批判したいと思う。
コメント1件

9
デフォルトの名無しさん[sage]   投稿日:2016/12/31 19:47:27  ID:+3Mz6rOl.net
マ板でやれ

10
デフォルトの名無しさん[sage]   投稿日:2017/01/01 00:16:22  ID:yOnXwyd5.net(3)
>8
それで批判はまだ?

11
デフォルトの名無しさん[sage]   投稿日:2017/01/01 13:54:13  ID:IDYigKuX.net
if() 等の分岐はオブジェクトの多態性(OOPの特性)で、for() の主要な用途である要素の列挙処理も
for() を使わずに配列などのコレクションに対する直接的な作用として記述可能(関数型の影響)で、
さらに、if() for() while() が他と関数(オブジェクト指向の場合はメソッドと呼ぶが)と同様の呼び出し記述
(メッセージ送信)で済ませることが可能な Smalltalk 等の場合、記述は簡潔でルールも少ないまま保たれているよ

12
デフォルトの名無しさん[]   投稿日:2017/01/01 17:12:28  ID:SJYwRSMl.net(2)
2NsOdIiQは情弱

13
デフォルトの名無しさん[sage]   投稿日:2017/01/01 22:22:13  ID:Eox67xHv.net
>2
被らない名前さえ付けとけば、後でいくらでも変えられるから、適当で良い。
コメント1件

14
デフォルトの名無しさん[sage]   投稿日:2017/01/01 22:24:04  ID:yOnXwyd5.net(3)
>13
名前をつけるタイミングは問題にしていない
最終的には一番重要な名前を正しくつけろという話だ

15
デフォルトの名無しさん[sage]   投稿日:2017/01/01 22:24:56  ID:yOnXwyd5.net(3)
被らない名前って連番かしら?w

func0001
func0002
func0003

16
デフォルトの名無しさん[sage]   投稿日:2017/01/01 23:57:12  ID:SJYwRSMl.net(2)
名前ってアルゴリズムやデータ構造より大事なん??
なぜ名前が重要?
コメント1件

17
デフォルトの名無しさん[sage]   投稿日:2017/01/02 00:23:37  ID:PvWoAsR2.net(4)
>16
もしアルゴリズムやデータ構造に
名前がない所を想像してみればいい。

どうやって他人にそれを理解させる?
でてくるたびにコードを読まなければ
それが何かが理解できないだろ?

名前が適切でないと時間を無駄に費やすことになるんだよ。

18
デフォルトの名無しさん[]   投稿日:2017/01/02 01:07:43  ID:BEa65uUQ.net(2)
でも名前という殻ができたら、もう誰も中身を見ようとしないだろ?
名前
名前の名前
名前の名前の名前
場所の名前
名前の場所
場所の名前の場所
名前の場所の名前…

これが連鎖したら実際に動いている本体がなんなのか、どこにあるのか、何がしたいのか、
何が悪いのか、わからんくなるやろ。

19
デフォルトの名無しさん[sage]   投稿日:2017/01/02 02:02:47  ID:PvWoAsR2.net(4)
> でも名前という殻ができたら、もう誰も中身を見ようとしないだろ?

見れる状態であれば、見る必要があるときだけ見ればいい。
標準ライブラリの中身は見ないだろ

20
デフォルトの名無しさん[sage]   投稿日:2017/01/02 02:03:47  ID:PvWoAsR2.net(4)
可読性を高くするというのは言い換えると
見なくていいものを増やすということ

見ないでも分かるものが増えれば増えるほど
読むものが減る=可読性が高くなる

21
デフォルトの名無しさん[sage]   投稿日:2017/01/02 02:13:28  ID:BEa65uUQ.net(2)
そしたらさ、何よりつまらなくないか?
そして本当に動くのか最後この最後に確認できるまで不安にならないか?
そして、もし記述がちょっとでも間違ったらやはり、動かないだろ?
デバッグしようにもアルゴリズム的なデバッグとちがい、ひたすら「その名前のものは見当たらなかった」と格闘するだけだろ。
コメント1件

22
デフォルトの名無しさん[sage]   投稿日:2017/01/02 02:40:58  ID:sbuuZSUp.net
人によって言語とか開発環境とか作ってる物とかチームや企業の方針とかのバックグラウンドが違うし、
みんな自分のバックグラウンドを前提に話すから話が?み合わない事は良くあるけどさ
>21が良く分からない

23
デフォルトの名無しさん[sage]   投稿日:2017/01/02 04:12:43  ID:PvWoAsR2.net(4)
まだ小さなファイルに分割することを
知らない段階なんだろ

24
デフォルトの名無しさん[]   投稿日:2017/01/03 22:54:15  ID:jYOP1H4c.net
>1 が唯一頭を使う部分をきっぱりと明言しちゃったのに対し、
>2 が食いついたせいで論点がずれ取るがな、
オブジェクト指向云々はさておき
それはさておきスマートな条件文を考えるのは大切っしょ。

25
デフォルトの名無しさん[sage]   投稿日:2017/01/04 01:51:56  ID:M78fqhv6.net
> それはさておきスマートな条件文を考えるのは大切っしょ。
誰も賛同してないことに気づけよw

26
デフォルトの名無しさん[sage]   投稿日:2017/01/04 21:31:57  ID:/ewDC4oi.net
スマートな条件文ってなにさ
if文書くなら誰が見てもわかる≒C言語を踏襲すべきだしスマートにするならhaskell的にもはやif文じゃなくなる
前提からして変なんだよ>1

27
デフォルトの名無しさん[]   投稿日:2017/01/04 22:49:19  ID:xL7XSQ6Y.net
とりあえず=> <= === != && || 使用禁止
この演算子使うやつは屑

28
デフォルトの名無しさん[sage]   投稿日:2017/01/05 04:37:39  ID:G8Tvk5br.net
理由が書いてないルールは不完全。
不完全なルールは存在してないものとみなすべき。

29
デフォルトの名無しさん[sage]   投稿日:2017/01/06 12:01:04  ID:Iab1DByP.net
理由はそういうルールと決めたから

30
デフォルトの名無しさん[sage]   投稿日:2017/01/07 00:25:49  ID:jcRWOLCk.net(2)
それはルールを決めた理由であって
ルールの理由ではない

31
デフォルトの名無しさん[sage]   投稿日:2017/01/07 10:00:54  ID:J5F8f7k5.net
言語ごとに異なる演算子を使うのは
たしかに愚かなことだ

しかし、=> === 以外はデファクトスタンダードだよな?

32
デフォルトの名無しさん[sage]   投稿日:2017/01/07 13:26:36  ID:jcRWOLCk.net(2)
Rubyでは || は 変数が空だったら入れるというイディオムでよく使われている。
nilガードって名前がついているぐらい。

&& はショートカット演算子ともいわれてこれまたよく使われる。

=== は言語によっては==の機能強化版になってるのでよく使われる。

!= はunlessがない言語ではこっちのほうが可読性が高い

=> はJavaScriptではアロー関数式、Perlではファットカンマだが
演算子として使われているのはしらない。

<= が使える言語なんてあるのか?

33
デフォルトの名無しさん[]   投稿日:2017/01/07 20:05:40  ID:R19tnpIk.net
pythonのイテレータ文法とスライスが簡潔かつ最強

34
デフォルトの名無しさん[sage]   投稿日:2017/01/11 11:44:23  ID:fVqO33jl.net
既知のキーワードで書けるLINQ文法こそ至高
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

プログラム板 タイトル検索

このスレッドが人気です(実況系)
第89回選抜高校野球大会準々決勝★70 (724)NHK実況
実況 ◆ TBSテレビ 27370 (240)TBS実況
実況 ◆ テレビ朝日 47347 大下さんシフト (140)テレ朝実況
実況 ◆ 日本テレビ 54713 (343)NTV実況
白熱ライブ ビビット★1 (702)TBS実況
連続テレビ小説 べっぴんさん★249 (543)NHK実況
羽鳥慎一モーニングショー★5 (330)テレ朝実況
NHK総合を常に実況し続けるスレ 132285 立てよ (823)NHK実況
このスレッドが人気です(ニュース系)
【森友学園】民進・辻元清美氏「塚本幼稚園に入っていないし、入ろうとした事実もない」 報道各社にFAXで見解を発表★9 (1000)ニュー速+
【森友学園】財務省「谷氏から照会があったのは2015年11月頃」 民進、谷氏招致求める 昭恵夫人の招致に首相応じず★23 (386)ニュー速+
【森友学園】民進・辻元清美氏「塚本幼稚園に入っていないし、入ろうとした事実もない」 報道各社にFAXで見解を発表★10 (272)ニュー速+
【森友】安倍首相「辻元氏は否定しているわけです。なかったことを証明しなくてはいけない」辻元氏が作業員を学園に潜入させた疑惑を追求 (612)ニュー速+
【森友学園】財務省「谷氏から照会があったのは2015年11月頃」 民進、谷氏招致求める 昭恵夫人の招致に首相応じず★22 (1000)ニュー速+
【サッカー】新エース・久保の2戦連発で快勝のハリル日本、視聴率も20・0%大台超え (713)音楽・芸能ニュース
【国際】日本の席に白い折り鶴1羽が置かれる=核禁止条約交渉会議で 国連本部 (1000)ニュー速+
【森友学園】財務省「谷氏から照会があったのは2015年11月頃」 民進、谷氏招致求める 昭恵夫人の招致に首相応じず★21 (1000)ニュー速+
プログラム板の人気スレ
オブジェクト指向って自然な文法だな 2 (559)
オブジェクト指向って不自然な文法だよな (1000)
Excel VBA 質問スレ Part47 (424)
【統計分析】機械学習・データマイニング14 (395)
くだすれPython(超初心者用) その32 (1001)
Visual Studio 2017 (843)
次世代言語議論スレ[Go Rust Haskell Scala]第3世代 (429)
C言語なら俺に聞け 139 (592)
C#, C♯, C#相談室 Part92 (735)
C++相談室 part129 (939)
推薦図書/必読書のためのスレッド 81 (581)
ふらっと C#,C♯,C#(初心者用) Part127 (134)
Swift part10 (316)
Pythonのお勉強 Part52 (725)
Xamarin Part3 (663)
【PHP】下らねぇ質問はここに書き込みやがれ 8 (118)
Visual Studio 2015 Part8 (555)
ねねっちと一緒にプログラムを勉強するスレ第2話 (86)
Git 15 (374)
Java入門・初心者質問スレ Part.2 (930)
クラス名・変数名に迷ったら書き込むスレ。Part27 (929)
HSP総合スレ【part 10】 [無断転載禁止](c)2ch.net (255)
☆★Java質問・相談スレッド179★★ (829)
プログラミング言語 Rust 2 (704)
Ruby 初心者スレッド Part 59 (938)
ドルオタワイ、1からプログラミングを学びたい (130)
+ JavaScript の質問用スレッド vol.122 + (868)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 新着書き込みなし(304)