悪いコードを改善した時の体験や知見を共有しよう
悪いコードを改善した時の体験や知見を共有しよう
When you participate, When you participate, we will assume that you have agreed to the terms of use
Require logged in for participate.
Participating Users(35)
okm-uvmuson0110kannkyotomoasleephiyasichukatakuchan9104soepy75asaxrxoxcxoxhigege-amdekertaimaxclowdishhokaritorudai_chishikitoraueshot13801206IkeMyutaroud__jayobsidian_puyosinndasakanashunnamichihirobelmohironobuishikawaNakaiKiichi01151013torucontactsyutorum001newtadaikikatsuragawaTetsu_Oikawagetty104CarlBrown23SY81517MtDeity
open
2022/05/31 - 2022/07/18

悪いコードを改善した時の体験や知見を共有しよう

When you participate, When you participate, we will assume that you have agreed to the terms of use

本テーマは、Qiita Top Contributor の ミノ駆動( @MinoDriven )さんとコラボしたQiita運営テーマです。
みなさまの素敵な記事をお待ちしています。

はじめに

こんにちは、リファクタリングが大好きなミノ駆動( @MinoDriven )です。

システムには仕様変更がつきものです。
何も設計せずに変更していくと、ロジックはどんどん複雑になり、混乱していきます。
混乱したコードは理解が難しく、些細な変更でバグを埋め込みやすくなってしまいます。
このような変更困難なコードを、技術的負債と呼びます。

技術的負債による損害は国家予算レベルになると予測され、対応は喫緊の課題です。
そうした危機感が広がっているのか、4月に出版した『良いコード/悪いコードで学ぶ設計入門』が、大変な売れ行きになるほどです。

そんな技術的負債……悪しきコードを、設計により解決した体験談や知見を共有し、意識醸成を図るのが、本投稿テーマの目的です。

Qiita Engineer Festa 2022 TOPページ
本テーマで投稿された記事の一覧はこちら

概要

技術的負債を解決したり、負債を抑止した設計の体験談や知見を投稿してください。

記事として投稿する設計は、コードやクラス図などで記述してください。
「コーディングは設計と違うのでは?」とお考えの方がおられるかも知れませんが、変更しやすい設計は末端のコードにまで及びます。

投稿内容の論理展開は基本的に自由ですが、もし書き方に迷うのであれば、以下の内容での記述をオススメします。
・コードの課題
・課題解決のための分析、仮説
・解決方法
・改善後のコードやクラス図
・期待した効果が得られたか

参考記事

以下の記事はコードやクラス図で設計を説明しています。ご参考に。

参加方法・流れ

①本ページ左側の「参加する」ボタンをクリック
②期間中(6/1〜7/18)に「QiitaEngineerFesta_設計」の記事タグをつけて、テーマに合わせた記事を投稿
③ミノ駆動より、選出基準に基づき受賞者を決定
④Qiita運営チームより、2022/7/29(金)にライブ配信で受賞者を発表
⑤Qiita運営チームよりプレゼント対象者に連絡、発送(8月上旬〜予定)

※記事投稿の際にはぜひキャンペーンページのリンクも入れて記事を投稿してください!
https://qiita.com/official-campaigns/engineer-festa/2022
※キャンペーンの流れについて、一部、変更になる可能性がございます

記事投稿ルール

プレゼント選出対象は以下のルールに沿って投稿される記事となります。

・本テーマに沿った記事であること
・本ページの「参加する」ボタンをクリックしていること
・「QiitaEngineerFesta_設計」タグを設定すること
・2022/6/1(水)〜 7/18(月)に投稿された記事であること

注意事項

体験談といっても、企業秘密となる業務コードを用いての投稿は禁止です。
別の例に表現を差し替えるなど工夫をお願いします。

プレゼント・選出基準

Top Contributor賞(1名様) 

Qiitan ぬいぐるみ 1体

課題の難易度や取り組み方など様々な観点で選考しますが、主に以下2点の基準を重要視します。

■技術的有効性
負債解消の設計が、どれほど技術的に有効であるかを重視します。
混乱したロジックをやみくもに整理するのではなく、設計的に妥当であるかどうかを評価します。
単一責任原則などのソフトウェア原則と照らし合わせてみましょう。

■的確な言語化
課題や解決方法をどれだけ的確に言語化し、分かりやすく説明しているかを評価します。
人は、自分がよく分かっていないことは正しく説明できないですし、曖昧でぼんやりするものです。
より正しく精密に理解しているものほど、的確に言語化できます。
多くの人に広く読まれる、価値ある記事を書けるようになってほしいので、重要視します。

Qiita優秀賞 各1名様(全てのQiita運営テーマの中から選出)

Mac Studio
iPad Air スペースグレイ (第5世代)

参加賞 1 名様(全てのQiita運営テーマの中から選出)

ブラーバジェット 240

Participating Users
okm-uvmuson0110kannkyotomoasleephiyasichukatakuchan9104soepy75asaxrxoxcxoxhigege-amdekertaimaxclowdishhokaritorudai_chishikitoraueshot13801206IkeMyutaroud__jayobsidian_puyosinndasakanashunnamichihirobelmohironobuishikawaNakaiKiichi01151013torucontactsyutorum001newtadaikikatsuragawaTetsu_Oikawagetty104CarlBrown23SY81517MtDeity