ローカル変数には抽象的で短い名前をつけろ
× 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 それがわかんなかったからさ
なんかの単語を省略してるのかなって思ったの
だからはっきりさせるために省略するのやめたがいんじゃないかなって思いました
ローカル変数で十分かどうかは関数によるかなと
明細をまとめてヘッダを作りますってとき
オブジェクトが複数存在することになるから明示したほうがいんじゃないかな
一方で単に値を変換するだけの関数ならそういう配慮いらないよね
だから関数次第かなと思いました
なんかの単語を省略してるのかなって思ったの
だからはっきりさせるために省略するのやめたがいんじゃないかなって思いました
ローカル変数で十分かどうかは関数によるかなと
明細をまとめてヘッダを作りますってとき
オブジェクトが複数存在することになるから明示したほうがいんじゃないかな
一方で単に値を変換するだけの関数ならそういう配慮いらないよね
だから関数次第かなと思いました
12デフォルトの名無しさん
2017/10/10(火) 00:48:34.60ID:vur3ayfV ドメインオブジェクトならvaluesじゃなくてちゃんと名前を付けたがいいかな
値オブジェクトならvaluesでいいかな
関数がどういう位置づけなのかで変わってくるかなと思いましたよ私は
フリーザならそう言うと思うからフリーザの立場になって考えたほうがいいと思う
値オブジェクトならvaluesでいいかな
関数がどういう位置づけなのかで変わってくるかなと思いましたよ私は
フリーザならそう言うと思うからフリーザの立場になって考えたほうがいいと思う
2017/10/10(火) 01:01:14.06ID:FbHCJRcA
14デフォルトの名無しさん
2017/10/10(火) 06:25:38.70ID:lKDnjTzp2017/10/10(火) 06:28:44.82ID:v9JcaVeZ
16デフォルトの名無しさん
2017/10/10(火) 06:28:57.93ID:lKDnjTzp あっち見たりこっち見たりするより
この関数さえ見れば大丈夫なのさふふん
みたいなことが良いこともあるんじゃないかと
過度な抽象化は可読性を下げると思います!
この関数さえ見れば大丈夫なのさふふん
みたいなことが良いこともあるんじゃないかと
過度な抽象化は可読性を下げると思います!
2017/10/10(火) 10:11:21.74ID:qi4/E384
Fortranとかの七画面スクロール分くらいあるコード死ね
どこに何があるのか把握するだけで一苦労
まずdoループでコード膨らませ過ぎなんじゃ
全部callで画面半分くらいのコードの方がよっぽど読みやすい
どこに何があるのか把握するだけで一苦労
まずdoループでコード膨らませ過ぎなんじゃ
全部callで画面半分くらいのコードの方がよっぽど読みやすい
2017/10/10(火) 11:52:56.46ID:ZTVh7Eud
>>16
一画面に収まって、かつテストが容易であればね
一画面に収まって、かつテストが容易であればね
19デフォルトの名無しさん
2017/10/10(火) 19:35:55.51ID:671BrZii20デフォルトの名無しさん
2017/10/10(火) 19:39:15.38ID:671BrZii 関数を細かく分割して関数単位でユニットテストやるとか時間の無駄
ドメイン分析・設計を高速で回転させていくにはテストなんて不要の産物
ドメイン分析・設計を高速で回転させていくにはテストなんて不要の産物
2017/10/10(火) 19:53:17.99ID:995pA0ow
>>20
アクセス修飾子を理解してない例
アクセス修飾子を理解してない例
2017/10/10(火) 19:57:26.89ID:ZTVh7Eud
>>19
どこの世界の基本だよwww
どこの世界の基本だよwww
2017/10/10(火) 20:42:48.92ID:hB/AKhsF
もう長いことローカル変数使わないスタイルでやってるから
ローカル変数の命名で迷った記憶がねえわ
ローカル変数の命名で迷った記憶がねえわ
2017/10/10(火) 20:46:15.59ID:aDZHO+DP
>>23
グローバル変数厨
グローバル変数厨
2017/10/10(火) 20:47:18.47ID:hB/AKhsF
>>24
グローバル変数はひとつも使いません
グローバル変数はひとつも使いません
2017/10/10(火) 21:44:02.99ID:Hng7vpUg
関数型マン!!
2017/10/11(水) 03:48:57.54ID:LzaHjsZ/
ロカもグロも使わないでどうするの
2017/10/11(水) 07:38:20.03ID:i63/Wje0
DBと引数とテンポラリ変数だけでOK
2017/10/11(水) 22:05:29.15ID:/FuCu7BT
>>23
どうせローカル定数を使うとかいう意味だろw
どうせローカル定数を使うとかいう意味だろw
2017/10/17(火) 21:07:06.79ID:3pxTisgT
ドラゴンボール集めるのか
2018/02/16(金) 06:23:12.73ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
32デフォルトの名無しさん
2018/05/23(水) 21:31:16.65ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
8CL23
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
8CL23
33デフォルトの名無しさん
2018/07/05(木) 00:26:51.22ID:RfoszcD2 6TP
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- クールジャパン機構、累積損失500億円超 政府が廃止など検討へ [ぐれ★]
- 【アニメ】『日本の最強アニソンBEST100』 1位はまたもや『残酷な天使のテーゼ』… 視聴者は「出来レース」「見飽きた」の声 [冬月記者★]
- AKB48契約解除の花田藍衣、動画で悲痛な訴え「運営から性的な質問をされ…峯岸さんのように坊主にして誠意を見せろと言われ坊主に」★5 [冬月記者★]
- 【テレビ】20代で7割、30代で6割が「見ていない」 衝撃の調査結果から考える「若者のテレビ離れ」本当の理由 [冬月記者★]
- AKB契約解除→丸刈り 花田藍衣代理人・唐澤弁護士、コメント「オレは闘うぞ」「世界中が敵になっても…」 [ひかり★]
- 【東京】30代女性…不妊治療し妊娠判明後に「実は妻子が」 独身偽装の男性に460万円の賠償命令 [ぐれ★]
- 【MLB】ツインズ vs ドジャース ★3
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★162【メキシコ/カナダ/アメリカ】
- はません ★3
- わしせん3
- 〓たかせん〓
- おりせん
- 小泉進次郎、高市にヤジ飛ばした沖縄民のことを「共感を得られない」とディスる。常に主観でモノ言ってるね、この人 [358195575]
- 【急募】「日本三國」こいつが天下取れなかった理由 [859851824]
- 貧困ジャップ、しまむらに大行列…「半額なのでティシュ600個買いました」 [667744927]
- へずまりゅう氏、1時間に119回呼吸停止、血中酸素濃度は65%まで低下 [347656489]
- 【悲報】no borderの当事者「サナエトークンの会議では高市事務所から4人が参加していました」🫪… [359965264]
- 高市早苗、手足がブルブル震え出す。😰終りか? [153490809]