世の中には2種類のコードがあります。設計のまずいコードとうまいコードです。設計のまずいコードとはどのようなコードでしょうか。特徴がいくつか挙げられます。メソッドが長いクラスが大きい引数が多い記述の重複が多い関心事を詰め込みすぎている最初はだれもがうまく設計しようとします。小さな変更や修正,機能の追加など,一つひとつの小さな積み重ねが積み上がった結果,気がつけばどこになにが書いてあるかわからないような,手を入れるとどこでどのような副作用が起こるかわからないような,変更が大変なコードに変質していってしまうのです。うまい設計は変更に強い以下に,コードの設計を改良する例を示します。taxRate();このコードには,priceという1つの変数を3つの用途(数量×単価,それに送料を考慮した場合の値段,それをさらに税込みにした値段)で使いまわしているという問題があります。これは破壊的代入といって副作用を起こしやすい書き方です。これを防ぐために用途別にローカル変数を用意します。taxRate();これでだいぶわかりやすくなりましたが,shippingCostに関してはif文や将来変更されうる固有のデータ(3000や500)を内包しています。これらはメソッドとして独立させます。;}送料計算に関するコードをshippingCost()メソッドに切り出しました。将来,送料の計算方法に変更が加わった場合は,このshippingCost()メソッド内だけ注目すればよい設計に生まれ変わりました。このように,うまく設計されたコードは変更を加える場所が明確で影響範囲も限定されるため,変更が楽で安全なものになります。書籍『現場で役立つシステム設計の原則』では,そのようなうまい設計のやり方を,コードからアプリ連携,システム全体の設計まで,わかりやすく解説しています。した変更のはずが大ごとになったり,あっちにもこっちにも飛び火しがちという現場の方に,一読をぜひおすすめします。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。書店・販売店の皆様へデベロッパアドミニストレータWEB+デザインライフスタイルサイエンスニュース&レポートメールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。