ローカル変数には抽象的で短い名前をつけろ
× 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の要素であることがわからない
}
例に挙げた「collection」が特に抽象的でもない件
valuesがすでに分かりにくいと思うんだよね
商品の個数なのか請求の金額なのかユーザの数なのかはっきりしようよ
retもresultなのかrestなのかretailなのかrestrictなのかはっきりしようよ
抽象的な値を扱うユーティリティ関数なら変数名なんて適当でいいけど
業務ロジック関数の一部を切り出してるならNGと言っていいでしょう
この手の奴はそんなこと言ってもアレコレ言い訳するだけ
やたら人に難癖つける割にダメダメっていういつものパターンですね
どうせ「リーダブルコード読め」の一言で済むようなことしか言わないくせにいちいちスレ立てんなよ
>>4 > valuesがすでに分かりにくいと思うんだよね
ローカル変数ならそれで十分やで?
重要なのはスコープだよ
関数の引数やオブジェクトのプロパティとか
スコープが広い場合には良くないけど、
(関数やオブジェクト名から推測できる場合を除く)
> retもresultなのかrestなのかretailなのかrestrictなのかはっきりしようよ
res ult
res t
ret ail
res trict
頭三文字がretなのはretailだけやで?w
そして
> 行き当たりばったりで名前を略するな。
って話。
それがわかんなかったからさ
なんかの単語を省略してるのかなって思ったの
だからはっきりさせるために省略するのやめたがいんじゃないかなって思いました
ローカル変数で十分かどうかは関数によるかなと
明細をまとめてヘッダを作りますってとき
オブジェクトが複数存在することになるから明示したほうがいんじゃないかな
一方で単に値を変換するだけの関数ならそういう配慮いらないよね
だから関数次第かなと思いました
ドメインオブジェクトならvaluesじゃなくてちゃんと名前を付けたがいいかな
値オブジェクトならvaluesでいいかな
関数がどういう位置づけなのかで変わってくるかなと思いましたよ私は
フリーザならそう言うと思うからフリーザの立場になって考えたほうがいいと思う
>>13 長い関数を短い関数に置き換えても複数のオブジェクトが関わるロジックが
なくなるわけじゃないんじゃないかと
そもそも長い関数は悪なのか? 僕はね正義だと思いますよ
あっち見たりこっち見たりするより
この関数さえ見れば大丈夫なのさふふん
みたいなことが良いこともあるんじゃないかと
過度な抽象化は可読性を下げると思います!
Fortranとかの七画面スクロール分くらいあるコード死ね
どこに何があるのか把握するだけで一苦労
まずdoループでコード膨らませ過ぎなんじゃ
全部callで画面半分くらいのコードの方がよっぽど読みやすい
>>16 関数ごとにテスト用意するつもりか?
いつの時代の原始人だよ
モダンなデベロップメントではユースケースに基づいたモンキーテストが基本
関数を細かく分割して関数単位でユニットテストやるとか時間の無駄
ドメイン分析・設計を高速で回転させていくにはテストなんて不要の産物
もう長いことローカル変数使わないスタイルでやってるから
ローカル変数の命名で迷った記憶がねえわ
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
8CL23