2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

可読性

1 :デフォルトの名無しさん:2017/10/09(月) 12:21:58.39 ID:1orfMMQz.net
ローカル変数には抽象的で短い名前をつけろ

× var foo_bar_baz_collection = FooBarBazCollection
○ var collection = FooBarBazCollection

ローカル変数に長い名前をつけるやつは
関数自体が長い可能性が高い。
長い関数を作るから、長いローカル変数名にしないと
何の変数か覚えられない



行き当たりばったりで名前を略するな。
略して良いのは、プロジェクトや業界で決まってる単語だけ

ただし変数の有効範囲が一行程度であれば略しても良い

○ values.map(v => v * v) //この行を見るだけでvがvaluesの要素であることがわかる
×
var ret = []
for(v in values) {
ret.push(v) // この行を見てもvがvaluesの要素であることがわからない
}

2 :デフォルトの名無しさん:2017/10/09(月) 12:35:50.57 ID:pJ9hdCWD.net
うぇあ

3 :デフォルトの名無しさん:2017/10/09(月) 13:06:40.88 ID:2VEzXzCr.net
例に挙げた「collection」が特に抽象的でもない件

4 :デフォルトの名無しさん:2017/10/09(月) 16:40:26.04 ID:Fqkuud42.net
valuesがすでに分かりにくいと思うんだよね
商品の個数なのか請求の金額なのかユーザの数なのかはっきりしようよ

retもresultなのかrestなのかretailなのかrestrictなのかはっきりしようよ

抽象的な値を扱うユーティリティ関数なら変数名なんて適当でいいけど
業務ロジック関数の一部を切り出してるならNGと言っていいでしょう

5 :デフォルトの名無しさん:2017/10/09(月) 16:53:10.14 ID:Vcgquw8F.net
この手の奴はそんなこと言ってもアレコレ言い訳するだけ

6 :デフォルトの名無しさん:2017/10/09(月) 17:22:36.74 ID:F9+aoLk/.net
やたら人に難癖つける割にダメダメっていういつものパターンですね

7 :デフォルトの名無しさん:2017/10/09(月) 17:59:54.27 ID:bvkIQjV4.net
どうせ「リーダブルコード読め」の一言で済むようなことしか言わないくせにいちいちスレ立てんなよ

8 :デフォルトの名無しさん:2017/10/09(月) 22:39:30.82 ID:f8dV4lwv.net
>>4
> valuesがすでに分かりにくいと思うんだよね
ローカル変数ならそれで十分やで?
重要なのはスコープだよ

関数の引数やオブジェクトのプロパティとか
スコープが広い場合には良くないけど、
(関数やオブジェクト名から推測できる場合を除く)

9 :デフォルトの名無しさん:2017/10/09(月) 22:44:35.37 ID:f8dV4lwv.net
> retもresultなのかrestなのかretailなのかrestrictなのかはっきりしようよ

res ult
res t
ret ail
res trict

頭三文字がretなのはretailだけやで?w
そして

> 行き当たりばったりで名前を略するな。

って話。

10 :デフォルトの名無しさん:2017/10/10(火) 00:39:46.62 ID:vur3ayfV.net
>>9
頭文字3文字をとってるの?

11 :デフォルトの名無しさん:2017/10/10(火) 00:42:54.68 ID:vur3ayfV.net
それがわかんなかったからさ
なんかの単語を省略してるのかなって思ったの
だからはっきりさせるために省略するのやめたがいんじゃないかなって思いました

ローカル変数で十分かどうかは関数によるかなと
明細をまとめてヘッダを作りますってとき
オブジェクトが複数存在することになるから明示したほうがいんじゃないかな
一方で単に値を変換するだけの関数ならそういう配慮いらないよね
だから関数次第かなと思いました

12 :デフォルトの名無しさん:2017/10/10(火) 00:48:34.60 ID:vur3ayfV.net
ドメインオブジェクトならvaluesじゃなくてちゃんと名前を付けたがいいかな
値オブジェクトならvaluesでいいかな
関数がどういう位置づけなのかで変わってくるかなと思いましたよ私は
フリーザならそう言うと思うからフリーザの立場になって考えたほうがいいと思う

13 :デフォルトの名無しさん:2017/10/10(火) 01:01:14.06 ID:FbHCJRcA.net
>>11
関数次第だと言うが、そもそも長い関数が悪なので
それを排除すると短い関数しか残らない

14 :デフォルトの名無しさん:2017/10/10(火) 06:25:38.70 ID:lKDnjTzp.net
>>13
長い関数を短い関数に置き換えても複数のオブジェクトが関わるロジックが
なくなるわけじゃないんじゃないかと
そもそも長い関数は悪なのか? 僕はね正義だと思いますよ

15 :デフォルトの名無しさん:2017/10/10(火) 06:28:44.82 ID:v9JcaVeZ.net
>>14
いいや、単純に無くしてほしい
関数内の依存関係を把握するだけで疲れる

16 :デフォルトの名無しさん:2017/10/10(火) 06:28:57.93 ID:lKDnjTzp.net
あっち見たりこっち見たりするより
この関数さえ見れば大丈夫なのさふふん
みたいなことが良いこともあるんじゃないかと

過度な抽象化は可読性を下げると思います!

17 :デフォルトの名無しさん:2017/10/10(火) 10:11:21.74 ID:qi4/E384.net
Fortranとかの七画面スクロール分くらいあるコード死ね
どこに何があるのか把握するだけで一苦労
まずdoループでコード膨らませ過ぎなんじゃ
全部callで画面半分くらいのコードの方がよっぽど読みやすい

18 :デフォルトの名無しさん:2017/10/10(火) 11:52:56.46 ID:ZTVh7Eud.net
>>16
一画面に収まって、かつテストが容易であればね

19 :デフォルトの名無しさん:2017/10/10(火) 19:35:55.51 ID:671BrZii.net
>>16
関数ごとにテスト用意するつもりか?
いつの時代の原始人だよ
モダンなデベロップメントではユースケースに基づいたモンキーテストが基本

20 :デフォルトの名無しさん:2017/10/10(火) 19:39:15.38 ID:671BrZii.net
関数を細かく分割して関数単位でユニットテストやるとか時間の無駄
ドメイン分析・設計を高速で回転させていくにはテストなんて不要の産物

21 :デフォルトの名無しさん:2017/10/10(火) 19:53:17.99 ID:995pA0ow.net
>>20
アクセス修飾子を理解してない例

22 :デフォルトの名無しさん:2017/10/10(火) 19:57:26.89 ID:ZTVh7Eud.net
>>19
どこの世界の基本だよwww

23 :デフォルトの名無しさん:2017/10/10(火) 20:42:48.92 ID:hB/AKhsF.net
もう長いことローカル変数使わないスタイルでやってるから
ローカル変数の命名で迷った記憶がねえわ

24 :デフォルトの名無しさん:2017/10/10(火) 20:46:15.59 ID:aDZHO+DP.net
>>23
グローバル変数厨

25 :デフォルトの名無しさん:2017/10/10(火) 20:47:18.47 ID:hB/AKhsF.net
>>24
グローバル変数はひとつも使いません

26 :デフォルトの名無しさん:2017/10/10(火) 21:44:02.99 ID:Hng7vpUg.net
関数型マン!!

27 :デフォルトの名無しさん:2017/10/11(水) 03:48:57.54 ID:LzaHjsZ/.net
ロカもグロも使わないでどうするの

28 :デフォルトの名無しさん:2017/10/11(水) 07:38:20.03 ID:i63/Wje0.net
DBと引数とテンポラリ変数だけでOK

29 :デフォルトの名無しさん:2017/10/11(水) 22:05:29.15 ID:/FuCu7BT.net
>>23
どうせローカル定数を使うとかいう意味だろw

30 :デフォルトの名無しさん:2017/10/17(火) 21:07:06.79 ID:3pxTisgT.net
ドラゴンボール集めるのか

31 :デフォルトの名無しさん:2018/02/16(金) 06:23:12.73 ID:W1XJdyx1.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

32 :デフォルトの名無しさん:2018/05/23(水) 21:31:16.65 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

8CL23

33 :デフォルトの名無しさん:2018/07/05(木) 00:26:51.22 ID:RfoszcD2.net
6TP

総レス数 33
8 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200