コードの「読みやすい」「読みにくい」とは何を基準にするのだろう

まとめました。
12
カエルの人 @blaue_fuchs

コードの「読みやすい」「読みにくい」とは何を基準にするのだろうなーなどとツラツラ考えている‥。

2013-07-04 14:05:54
Hideaki Takahashi @hideaki_t

@blaue_fuchs 自分のスタイルとの離れ具合かなと思いましたが、その距離を図る要素が何かって話ですよね…

2013-07-04 14:08:31
カエルの人 @blaue_fuchs

@hideaki_t えぇ。突き詰めると、タブとか名づけ規則とか コードを構成する全ての要素 なんでしょうけどねぇ。

2013-07-04 14:10:19
カエルの人 @blaue_fuchs

自分の書き方から離れていても「読みやすい」と感じる場合もあるしなぁ‥。何だろうなぁ。

2013-07-04 14:11:22
Hideaki Takahashi @hideaki_t

@blaue_fuchs 少し考えてみたら、僕は、適当なインデント、わかりやすい命名、一度に把握したほうがいい要素(関数、クラスとか)の情報量が多すぎない、フローの分かりやすさぐらいかと思いました

2013-07-04 14:43:14
Ransui Iso @ransui

@hideaki_t @blaue_fuchs ズバリ言うわよ。「名前付けのセンス」これだけで7割を占めると言っても過言ではないはず。残りの2割が処理単位の分割粒度。コーディングスタイルとかはその他もろもろの1割に含まれる。

2013-07-04 14:55:23
カエルの人 @blaue_fuchs

@ransui @hideaki_t 確かに! 名付けが適当だと読んでて気が散りますね。

2013-07-04 15:13:35
V @voluntas

@ransui いい名前つけたら9割終わってると思ってますw

2013-07-04 17:36:17
Atsuo Ishimoto @atsuoishimoto

@voluntas @ransui いい名前が付けられる -> 問題を理解して抽象化できてる -> 読みやすい いい名前を付けられない -> 問題を理解してないのにコードに落としてる -> 読みにくい

2013-07-04 18:32:43
Ransui Iso @ransui

@voluntas 9割は盛り過ぎじゃね?やっぱ分割粒度も大事やで。

2013-07-04 18:32:45
V @voluntas

@ransui イイナマエつけたらもう仕事終わりだと思ってるレベルのだめな人ですw

2013-07-04 18:33:16
V @voluntas

@atsuoishimoto @ransui あー、それは思います思います。

2013-07-04 18:33:24

コメント

きゃっつ(Kats)⊿ @grayengineer 2013年7月4日
>「名前付けのセンス」これだけで7割を占めると言っても過言ではないはず。< ですよね~。ところでこんなまとめがありまして… → http://togetter.com/li/526666
0
Tsuyoshi CHO @tsuyoshi_cho 2013年7月4日
まあ、基本と癖のない簡素な記述が大部分で要所に適切にコメントがある、とかかなぁ。むりやり一般化すると。
1
わか @YWak 2013年7月5日
覚えておかなければいけないことが少ないことだと思います。 読みながら「これなんだっけ?」ってなる回数が少ないほど読みやすいコード。
1
たるたる @heporap 2013年7月5日
覚えておくことが少ない=関数のネストが少ないもそうですけど、関数名で内容がわかれば関数の中身を調べる必要はありませんし、「何をするための関数」というコメントが不要になります。objCの文章みたいな関数名も何ですけど。
0
たるたる @heporap 2013年7月5日
条件分岐が少ないというのも、読みやすさにつながるのではないでしょうか。別の関数に隠蔽されて、result = do_the_selection( n ); なんかだと条件分岐の部分を追わなくて済むと思います。
0
みこみこ @mikoto_1009 2013年7月5日
読みやすいコードは、「思想が統一されてるコード」だと思う。UIとロジックを分けると決めたら、全部のモジュールで徹底する、とか。
0
みこみこ @mikoto_1009 2013年7月5日
変数の引き回しとか、オブジェクトの使い方とか、外部入出力のやり方とか、そういう「思想」にブレがないコードは、読みやすいし予測しやすい。コードのトレースって、他人の思想をトレースすることだと思ってるから。
0
たるたる @heporap 2013年7月5日
ずっと悩んでるんですが、オブジェクトの生成を全部やってからメソッドを呼び出すか、生成-呼び出しを1つずつするか、どっちが読みやすいと思いますか? (1) a=new A(); b=new B(); c=new C(); a.do(); b.do(); c.do(); (2) a=new A(); a.do(); b=new B(); b.do(); c=new C(); c.do();
0