リーダブルコードとは
・読みやすさ、理解しやすさを追及したコードのことです
・読みやすいということはメンテナンス性も高いということです。
・理解しやすいコードはコードレビューも楽になります。
・理解しやすいコードはバグも少なくなります。
・短いほうが優れていることが多いですが、必ずしも短いほうがいいとは限りません。
俺ルール
・書き方の勝負であり、言語の勝負をしないでください。
・標準、非標準に限らずライブラリを使いましょう。
・なければ自分で関数を作りましょう。関数はなるべく汎用的に。
こういうコードを読みやすくするにはどうすればいいでしょうか?
というようなことを語るスレ。需要ありますかね?
探検
リーダブルコーディング技術スレ
■ このスレッドは過去ログ倉庫に格納されています
2013/10/11(金) 01:06:21.56
2013/10/11(金) 01:12:14.22
コスト感も癖にテストテスト叫ぶガキはまずリーダブルなコード書けてから言えといいたい
2013/10/11(金) 01:19:10.70
最近、メインのコードから汎用的なコードを関数化していって
汎用的なコードはまあテストするが、
そうするとメインのコードが凄くシンプルになって、
それをテストするって意味あるのか?って思えてきた。
むしろテストしにくいコードをテストしなくて済むように
複雑なものを極力追いだすというか。そんな感じ。
汎用的なコードはまあテストするが、
そうするとメインのコードが凄くシンプルになって、
それをテストするって意味あるのか?って思えてきた。
むしろテストしにくいコードをテストしなくて済むように
複雑なものを極力追いだすというか。そんな感じ。
2013/10/11(金) 01:23:06.16
テストコード自体にもリーダブルさは必要だからなぁ。
リーダブルなコードを書けない人間がテストコードを書いても
ごみの集まりにしかならない。
テストのメンテナンスが大変になるだけ。
リーダブルなコードを書けない人間がテストコードを書いても
ごみの集まりにしかならない。
テストのメンテナンスが大変になるだけ。
2013/10/11(金) 06:39:08.19
6デフォルトの名無しさん
2013/10/11(金) 07:49:34.67 >>2
リーダブルなレス頼む
リーダブルなレス頼む
2013/10/11(金) 09:03:24.36
>>5
荒らしは無視ですね。
荒らしは無視ですね。
2013/10/11(金) 09:06:22.36
テストが面倒だから、テストしやすいコードを書くと簡潔になるな。
同じテストを繰り返したくないから、DRYの原則を守るようになってたり。
同じテストを繰り返したくないから、DRYの原則を守るようになってたり。
2013/10/11(金) 10:02:12.71
>>7
pure Prolog は書き手が書いたことだけが真であって、
読み手との間で誤解の生じる余地がありません。
組込述語(ライブラリ)が無いのですから、個別的であり、
書き手と読み手の間の抽象能力の差から生じる不理解が
生じません。
pure Prolog は書き手が書いたことだけが真であって、
読み手との間で誤解の生じる余地がありません。
組込述語(ライブラリ)が無いのですから、個別的であり、
書き手と読み手の間の抽象能力の差から生じる不理解が
生じません。
2013/10/11(金) 18:11:45.56
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
2013/10/11(金) 22:46:36.79
>>9
問題はそれがリーダブルかどうかです。
試しにライブラリも関数も使わずにMySQLに接続して
select文を発行するコードを書いてみてくれませんか?
リーダブルコードというのは
実用的でなければなりません。
問題はそれがリーダブルかどうかです。
試しにライブラリも関数も使わずにMySQLに接続して
select文を発行するコードを書いてみてくれませんか?
リーダブルコードというのは
実用的でなければなりません。
2013/10/12(土) 01:48:35.10
例えばPerlでは要素が重複しないリストを返す関数はないわけ。
言語仕様だけで実装すればこんなふうになるけど、
my %count;
@array = grep( !$count{$_}++, @array ) ;
見ての通り明らかに、リーダブルではない。
List::MoreUtilsという有名なライブラリには
これをやってくれる関数がある
@array = uniq @array;
こっちの方が明らかにリーダブル。
実際の開発において、ライブラリを使わずに実装するなんてことは
腐った現場以外ありえない話なので、
リーダブルが目的の現実的な開発ではList::MoreUtilsのuniqを
使うという選択が一番正解なわけだよ。
言語仕様だけで実装すればこんなふうになるけど、
my %count;
@array = grep( !$count{$_}++, @array ) ;
見ての通り明らかに、リーダブルではない。
List::MoreUtilsという有名なライブラリには
これをやってくれる関数がある
@array = uniq @array;
こっちの方が明らかにリーダブル。
実際の開発において、ライブラリを使わずに実装するなんてことは
腐った現場以外ありえない話なので、
リーダブルが目的の現実的な開発ではList::MoreUtilsのuniqを
使うという選択が一番正解なわけだよ。
2013/10/12(土) 06:07:07.54
>>11
pure Prologではなく普通のPrologですが、
http://nojiriko.asia/prolog/fukakusa_no_shoushou_1_1.html
のようなコードを念頭に置いています。
あなたが意識されているのは読みやすさではなく実用性ではありませんか。
さすがにPrologからMySQLへのインターフェイスはないと思いますが、あれば、
mysql :: かやうに(_かやうに),
のように質問することになるのでしょう。
pure Prologではなく普通のPrologですが、
http://nojiriko.asia/prolog/fukakusa_no_shoushou_1_1.html
のようなコードを念頭に置いています。
あなたが意識されているのは読みやすさではなく実用性ではありませんか。
さすがにPrologからMySQLへのインターフェイスはないと思いますが、あれば、
mysql :: かやうに(_かやうに),
のように質問することになるのでしょう。
2013/10/12(土) 12:17:28.70
>>13
だから実用性を考えないリーダブルに意味は無いんだって。
読んだってたかが知れてる量だとリーダブルにする意味は無いだろ。
何百、何千行にもなるような実用レベルのコードを
読みやすく構築するのがリーダブルの目標
実用レベルではMySQLを使うのは当たり前の話で
それをライブラリを使わないで書いてもリーダブルといったのはお前じゃんか。
こちとら何百、何千行もあるコードを数行に収めることを目標にしてるんだ。
だから当然ライブラリを使うし、ライブラリを作る他ないだろ。
リーダブルはあくまで実用性を念頭に置いて考えなさい。
サンプル程度の短いコードの話なんて要らないのよ。
だから実用性を考えないリーダブルに意味は無いんだって。
読んだってたかが知れてる量だとリーダブルにする意味は無いだろ。
何百、何千行にもなるような実用レベルのコードを
読みやすく構築するのがリーダブルの目標
実用レベルではMySQLを使うのは当たり前の話で
それをライブラリを使わないで書いてもリーダブルといったのはお前じゃんか。
こちとら何百、何千行もあるコードを数行に収めることを目標にしてるんだ。
だから当然ライブラリを使うし、ライブラリを作る他ないだろ。
リーダブルはあくまで実用性を念頭に置いて考えなさい。
サンプル程度の短いコードの話なんて要らないのよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】山上徹也被告に無期懲役を求刑 ★4 [Hitzeschleier★]
- 「年収の壁」、178万円に引き上げで合意 自民・国民民主 [どどん★]
- 「片脚は人工関節で、ろくに睡眠も取れていない」 激ヤセが不安視される高市首相の体調 | デイリー新潮 [少考さん★]
- 中国外務省「日本への渡航を控えて」→高市内閣の支持率はとくに下がらず…なぜ日本国民がこれほど「高市内閣」を応援するのか★3 [♪♪♪★]
- 【大阪】「殺すぞ!覚えてろよ!」車で自転車に幅寄せ250m並走か 配送業の男を殺人未遂容疑で逮捕 [七波羅探題★]
- 桑田真澄氏が野球界に警鐘「危機的な状況」「マイナースポーツに陥る可能性が」競技人口減少 ★2 [尺アジ★]
- 「エヴァンゲリオン」新作アニメ制作決定。庵野秀明氏が企画・脚本・総監修 [886272898]
- 【速報】高市「中国のレアアースなんてもういらねえ!」重要物質の供給網多様化に本腰 [931948549]
- Googleが「ハルシネーションを起こせない」AIのGemini Diffusionを発表。省メモリで超高速 [347751896]
- 高市効果で調子に乗ってたホテル業界値下げしまくる。あの京都でもお前らが考える値段の7割くらい安い [605029151]
- 【ぬ王以外宣伝禁止】コテハンスレ実況パワフル雑談スレッド【名無し歓迎】
- 安倍昭恵「被告人には、自分のしたことを正面から受け止め、罪を償うように求めます」 [904151406]
