ローカル変数には抽象的で短い名前をつけろ
× 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の要素であることがわからない
}
可読性
■ このスレッドは過去ログ倉庫に格納されています
2017/10/09(月) 12:21:58.39ID:1orfMMQz
2デフォルトの名無しさん
2017/10/09(月) 12:35:50.57ID:pJ9hdCWD うぇあ
2017/10/09(月) 13:06:40.88ID:2VEzXzCr
例に挙げた「collection」が特に抽象的でもない件
4デフォルトの名無しさん
2017/10/09(月) 16:40:26.04ID:Fqkuud42 valuesがすでに分かりにくいと思うんだよね
商品の個数なのか請求の金額なのかユーザの数なのかはっきりしようよ
retもresultなのかrestなのかretailなのかrestrictなのかはっきりしようよ
抽象的な値を扱うユーティリティ関数なら変数名なんて適当でいいけど
業務ロジック関数の一部を切り出してるならNGと言っていいでしょう
商品の個数なのか請求の金額なのかユーザの数なのかはっきりしようよ
retもresultなのかrestなのかretailなのかrestrictなのかはっきりしようよ
抽象的な値を扱うユーティリティ関数なら変数名なんて適当でいいけど
業務ロジック関数の一部を切り出してるならNGと言っていいでしょう
2017/10/09(月) 16:53:10.14ID:Vcgquw8F
この手の奴はそんなこと言ってもアレコレ言い訳するだけ
2017/10/09(月) 17:22:36.74ID:F9+aoLk/
やたら人に難癖つける割にダメダメっていういつものパターンですね
2017/10/09(月) 17:59:54.27ID:bvkIQjV4
どうせ「リーダブルコード読め」の一言で済むようなことしか言わないくせにいちいちスレ立てんなよ
2017/10/09(月) 22:39:30.82ID:f8dV4lwv
>>4
> valuesがすでに分かりにくいと思うんだよね
ローカル変数ならそれで十分やで?
重要なのはスコープだよ
関数の引数やオブジェクトのプロパティとか
スコープが広い場合には良くないけど、
(関数やオブジェクト名から推測できる場合を除く)
> valuesがすでに分かりにくいと思うんだよね
ローカル変数ならそれで十分やで?
重要なのはスコープだよ
関数の引数やオブジェクトのプロパティとか
スコープが広い場合には良くないけど、
(関数やオブジェクト名から推測できる場合を除く)
2017/10/09(月) 22:44:35.37ID:f8dV4lwv
> retもresultなのかrestなのかretailなのかrestrictなのかはっきりしようよ
res ult
res t
ret ail
res trict
頭三文字がretなのはretailだけやで?w
そして
> 行き当たりばったりで名前を略するな。
って話。
res ult
res t
ret ail
res trict
頭三文字がretなのはretailだけやで?w
そして
> 行き当たりばったりで名前を略するな。
って話。
10デフォルトの名無しさん
2017/10/10(火) 00:39:46.62ID:vur3ayfV >>9
頭文字3文字をとってるの?
頭文字3文字をとってるの?
11デフォルトの名無しさん
2017/10/10(火) 00:42:54.68ID:vur3ayfV それがわかんなかったからさ
なんかの単語を省略してるのかなって思ったの
だからはっきりさせるために省略するのやめたがいんじゃないかなって思いました
ローカル変数で十分かどうかは関数によるかなと
明細をまとめてヘッダを作りますってとき
オブジェクトが複数存在することになるから明示したほうがいんじゃないかな
一方で単に値を変換するだけの関数ならそういう配慮いらないよね
だから関数次第かなと思いました
なんかの単語を省略してるのかなって思ったの
だからはっきりさせるために省略するのやめたがいんじゃないかなって思いました
ローカル変数で十分かどうかは関数によるかなと
明細をまとめてヘッダを作りますってとき
オブジェクトが複数存在することになるから明示したほうがいんじゃないかな
一方で単に値を変換するだけの関数ならそういう配慮いらないよね
だから関数次第かなと思いました
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★8 [ぐれ★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- バイデン政権国防次官補「日本人よ。憲法9条変えてアジア版NATO作らないと滅びるぞ」 [237216734]
- 【実況】博衣こよりのえちえちダンガンロンパ4🧪
- 【実況】博衣こよりのえちえちダンガンロンパ5🧪
- 日本人、インバウンド減っても貧乏すぎて国内旅行すら行けないと判明🥺 [399259198]
- 【貧鈍】日本人、ついにゴミ箱設置で自治体、住民、事業者、域外来訪者らで揉める!街がポイ捨てゴミで溢れる [219241683]
- プログラミングって具体的に何?
