- 運営しているクリエイター
記事一覧
リーダブルコード実践 第二弾 ~Vol.4~
今回はロジックを見直してさらに読みやすくします。
//商品クラスvar CartItem = function(cart_no, goods_id, unit_price, goods_num, tax_rate) { this.cart_no = cart_no; this.goods_id = goods_id; this.unit_price = unit_pr
リーダブルコード実践 第二弾 ~Vol.3~
今回はロジックを書き直して読みやすくします。
//商品クラスvar CartItem = function(cart_no, goods_id, unit_price, goods_num, price, tax_rate, tax, price_with_tax) { this.cart_no = cart_no; this.goods_id = good
リーダブルコード実践 第二弾 ~Vol.2~
前回書いたコードに対し、まずは見た目を見やすくします。
//商品クラスvar CartItem = function(cart_no, goods_id, unit_price, goods_num, tax_rate, tax, price) { this.cart_no = cart_no; this.goods_id = goods_id; this.unit_
リーダブルコード実践 第二弾 ~Vol.1~
前回は見た目ベースのコードになっていたので、今回はロジックベースのコードになるよう例題を設定します。なお、言語はJavascriptを採用します。(Javascriptはあまり経験ないので勉強がてら)
<例題>
ECサイトにカート機能を作るので、以下の機能を実装する。
1. 商品をカートに入れる
2. カートの商品の数量を変更する
3. カートから商品を削除する
4. カートの合計金額を
リーダブルコード実践 Vol.5
更なる改善まだ改善の余地があるので、今までのポイントを総ざらいし、もっと読みやすくします。
/** 入荷と出荷が同時に呼び出されることはない。*/class RasManager { function ReceiveGoods(goods_id, goods_num) { if (goods_num < 1) return "1以
リーダブルコード実践 Vol.4
コードの再編成コードの構成を変えて読みやすくします。ポイントは以下のとおりです。
1. コードをタスクに分けて重複箇所などをメソッド化します。
2. 言葉で表せられないコードを書き直します。
3. 不要なケースを削除します。
/** 入出荷管理クラス* 注)入荷と出荷が同時に呼び出されることはない*/class RasManager { //入荷した商品を倉庫へ登録する fun
リーダブルコード実践 Vol.3
ロジックの単純化複雑なコードを簡単なコードにして読みやすくします。ポイントは以下のとおりです。
1. 条件式の引数を自然な順番に書き直します。
2. 深いネストを浅くするよう書き直します。
3. 複雑な条件を説明変数・要約変数で書き直します。
4. 不要な変数を削除します。
/** 入出荷管理クラス* 注)入荷と出荷が同時に呼び出されることはない*/class RasManager {
リーダブルコード実践 Vol.1
以下の例題でコードを書き、リーダブルコードで学んだ読みやすいコードに書き直していきます。
<例題>
商品の在庫を管理するシステムで、商品の入出荷受付機能を実装する。入出荷受付が同時に呼び出されることはない。
<入荷受付仕様>
- 入荷した商品を倉庫へ登録する。
- 倉庫への入荷メソッド: ArrivalGoods(商品ID,数量)
<出荷受付仕様>
- 指示された商品を倉庫から出荷する。
-
リーダブルコード実践 Vol.2
前回書いたコードをリーダブルコードの手法を適用して読みやすいコードへ書き直していきます。
表面上の改善読みやすさに大きく影響する「名前・コメント」を明確なもの・読みやすいものに書き直します。ポイントは以下のとおりです。
1. 読みやすさに大きく影響する名前を明確なものに直します。
2. 名前を見てわかるコメントは不要なので削除します。
3. コメントは概要や注意事項など、有意義なものに直し
読書感想文 ~リーダブルコードを読んでみて~
一言で言うと「マジでバイブル!」です。恐らく、今まで読んできた書籍の中でトップクラスに読みやすい。読んでいるそばから、今書いているコードに適用したくなってくる内容ばかりなので、本当に実用的なことが書かれているんだなと感じました。
内容だけでなく、構成も良く考えられていました。例えば、最初に書かれている「表面上の改善」です。人間が知覚するための五感の内、8割以上を占める視覚に関係する内容なので、読
これから実践すべきこと ~コードで伝える~
これから新しく入ってくる仲間にも読みやすいコードを書いてもらえるよう、コミットしたコードのdiffを共有する文化を作るべき、とのこと。今までのことを全て実践したら読みやすいコードを書く文化が根付くけど、新しく入ってくる人はそんな文化を知らないから。読みにくいコードが生まれないための予防策ってことかな。
diffを共有したら、まずは自分が人のdiffを読んで読みにくいコードを指摘していく。前回も書
これから実践すべきこと ~当たり前にする~
新たに書くコードは読みやすいコードだけになるよう意識し、それから既存のコードをリファクタリングすべき、とのこと。既存のコードを直しても新たに書くコードが読みにくいコードだったら永遠にリファクタリングが必要だから。
これは自分だけでなくプロジェクトに携わる人全員に関係する。そのための手法がいくつか挙げられていた。
1. 全員にリーダブルコードを読んでもらう
2. 読みにくいコードを書いた人と議
これから実践すべきこと ~実際にやる~
リーダブルコードを読み返しながら、ひたすら読みやすいコードを書いていき、他の人にレビューしてもらう、とのこと。
リーダブルコードには「こう書いたら読みやすいでしょ?」みたいなヒントがあるけど、実際に読み書きしている時にそんなヒントはない。このスキルは意識するかどうかが重要だから、一朝一夕で身につくものじゃない。ひたすら数をこなして経験値を増やして自然にできるようになるしか方法がないと思う。リーダ
第4部 選抜テーマ ~優れた設計と読みやすさ~
優れた設計は読みやすいコードと比例するリーダブルコードに例題を単純解決してから問題点を解決するために再設計していき、読みやすいコードに変わっていく過程が記述されている。単純解決したコードから大幅に増えたけど、柔軟性・パフォーマンス・将来性が格段に向上しているのがわかる。
逆に言うと、コードを読みやすくしていけば柔軟性・パフォーマンス・将来性が向上する、ということなので、読みやすいコードを書く意義