Simple Design 概論 2講:重複コードの扱い方
youngrok
この講義はSimple Designシリーズの二番目の講義です。Simple Designは良いコードを作るための方法として次の二つを提案します。 1. 重複コードを除去する。 2. そうしながら構成要素を減らす方法を見つける。 この講義はこの中で一番目に焦点を合わせます。
初級
Refactoring
コラボレーションのために必ず知っておくべき"クリーンコードの書き方"を学ぶことになります。

学習した受講者のレビュー
5.0
남궁권
ぜひこの理論をプロジェクトに取り入れてみて、私のものにしたいです。
5.0
박주원
コンピュータ工学と在学生です。初めてクリーンコードについて基本的な枠組みを知ることができてよかったです。これをもとに少しずつ適用して練習して探していきながら勉強すれば、より良い開発者になりそうです! もう一度見ると目次を参考にするのは難しいですが、目次だけもう少し詳しく参考にしやすくしていただければと思います!
5.0
Boram Kim
現在フロントエンドエンジニアとして在職中の会社員です:) 初めて会社に入ってから射手も安心して事実上お会いしたり諮問を受けにくい部分が多かったです。しかし、その講義を聞いて、良いコードを書いて、なぜそうするべきかについてはっきりと分かりました。紹介に出てきたようにJava言語を知らないからといって理解できない講義でもないだけでなく、クリーンコードの本の内容で扱う中核的な内容を簡単に説明してくれて、軽く読んで理解できて良かったです。 会社に入る前や見栄えの良いコードを書いたい人に積極的にお勧めします!
リファクタリングのコツ
コラボレーションに必要なクリーンコード作成のヒント
その他、就職準備生や予備・新人開発者なら必ず知っておくべき開発関連のヒント
GitHubの1ページを見ただけでも
あなたと一緒に働きたいかどうかが決まる。
大げさな表現だと思われますか?そんなことはありません。明らかにGitHub(ギットハブ)の1ページだけでも、作成者のコード作成スタイルの良し悪しを判별できるからです。特に、クリーンで協業に適したコードが何であるかを全く知らない人が書いたコードほど、一目で分かってしまいます。
第一印象が最も強い印象を残すものです。
GitHubの1ページだけで良し悪しが一度に把握されるだけに、クリーンコードの書き方を必ず事前に学んでおく必要があります。
「コンピューターが理解できるコードは、どんな愚か者でも書ける。
優れたプログラマーは、人間が理解できるコードを書く。」
『リファクタリング』の著者マーチン・ファウラー(Martin Fowler)が言った言葉です。良いコードとは、他の人が見て理解しやすいものでなければならないという意味です。
就職準備生、予備・新人開発者である皆さんは、他人が作成したコードを保守した経験がほとんどないはずです。ほとんどの場合、コーディングテストの準備や、コンテスト、就職ポートフォリオのために進めたチームプロジェクトのみを経験してきたでしょうから。このようなプロジェクトは通常、主な目的がサービスの機能実装であるため、プログラムが動作さえすればそれで十分だったはずです。
実務では、他人が書いたコードを把握して修正するケースが非常に多いです。同僚のコードをもとにコミュニケーションを取らなければならない場面も多々あります。自分が書いたコードでさえ数ヶ月経てば理解するのが難しいのに、他人が書いたコードまで把握しながら協業するのは簡単でしょうか? 決してそうではありません。
ただでさえ難しいのに、コードまでめちゃくちゃだったら? 同僚の開発者は大きな混乱を感じるでしょう。
私は、問題解決能力やコンピュータサイエンスの基礎知識と同じくらい、クリーンコードの書き方が重要だと考えています。
共同作業に役立つ クリーンコードの書き方と、コード作成時に避けるべきアンチパターンについて幅広く学ぶことになります。
こんにちは。私は現在、某大手企業に勤めているジュニア開発者です。
普段からオブジェクト指向、ソフトウェア工学、クリーンコード、リファクタリングといったテーマに強い関心を持ち、模索してきました。
これまでの私の悩みや、現場での開発を通じて経験した知識を、
私が歩んできた道を歩んでいる予備・新人開発者の皆さんと共有したいと思います。
あなたを「一緒に働きたい開発者」にしてくれる、厳選されたクリーンコード作成法をすべて詰め込みました。
本講義は、読み物資料を提供する板書形式の講義です。
講義資料は、Inflearnの講義画面からすぐにお読みいただけます。
(講義テキスト以外に、別途の動画は提供されません。受講申し込みの前に、この点を必ずご確認ください。)
「受講のためにあらかじめ知っておくべき開発言語はありますか?」
• 講義の中で例としてJava言語を使用している部分が一部ありますが、使用されている言語の種類に関係なく、この講義を受講していただいて問題ありません。もちろん、Java、Python、Go、Kotlinなどのオブジェクト指向言語であれば、より理解しやすいでしょう。
「[オブジェクト指向パラダイム]、[デザインパターン]を全く知らないのですが、この講義を受講しても大丈夫でしょうか?」
• はい、可能です。この講義では決して難しい内容は扱いません。対象受講生を、オブジェクト指向関連の理論やデザインパターンをほんの少しでも知っている方と想定してこの講義を制作しましたが、知らなくても受講に支障はありません。
“『クリーンコード』や『リファクタリング』をすでに読みましたが、この講義を受ける必要はありますか?”
• 私が最もおすすめする受講生は、『クリーンコード』と『リファクタリング』を読む予定の方です。『クリーンコード』や『リファクタリング』を読む前にこの講義を受けていただければ、上記の著書の内容を理解するのに大きな助けになるからです。一方で、この講義は上記の著書で扱われている内容を多く含んでいるため、すでに読まれた方は得られる内容が比較的少ないかもしれません。しかし、上記の著書では扱われていない、その他細かく多様なヒントも講義に盛り込んでいるため、受講を希望される方はいつでも大歓迎です。
“この講義ならではの特徴はありますか?”
• 「知識の呪い(The curse of knowledge)」という言葉があります。他人に情報を伝える際、相手が自分の話そうとしている内容を十分に理解できるだけの背景知識を持っているだろうという錯覚から生じる問題を指します。就職活動生、予備・新人開発者の気持ちを誰よりもよく知るジュニア開発者として、「あえてこんなことまで講義に含めるべきか?」と思うような内容も講義に盛り込みました。
「この講義を受ければ、すぐに良いコードを書けるようになりますか?」
• この講義を受ける前と後では、明らかに違いがあるはずです。しかし、理論を自分のものにするためには、実習を並行して行うのがベストです。皆さんがすでに作成したコードを、この講義で紹介する様々なヒントをもとにリファクタリングしてみることを強くお勧めします。
📣 追加のご案内事項
• 講義に関するご質問は、平日の夜以降にできるだけ早く回答させていただきます。
• 本講義は板書(テキスト読み取り資料)形式の講義であり、別途動画は提供されません。返金規定を超えた状態での講義の返金はいたしかねますので、受講申し込み前に必ずこの点をご確認ください。
学習対象は
誰でしょう?
エンジニア就職準備生
ジュニア・新人エンジニア
コードレビューが怖い方
協働に役立つコードの書き方が気になる方
『クリーンコード』、『リファクタリング』をまだ読んだことがない開発者
『クリーンコード』や『リファクタリング』は読んだけど、それ以外にももっと多様で詳細なヒントが知りたい予備・新人エンジニア
前提知識、
必要でしょうか?
Java、Python、Go、Kotlinなどのオブジェクト指向言語を学んだことがある方
少しのオブジェクト指向、デザインパターン学習経験
770
受講生
68
受講レビュー
19
回答
4.4
講座評価
1
講座
こんにちは。
私はカカオでバックエンドエンジニアとして働いているクリーンコーダーです。
普段からオブジェクト指向、ソフトウェア工学、クリーンコード、リファクタリングといったテーマに強い関心を持ち、追求してきました。このような私の悩みや実務での開発を通じて経験した知識を、私が歩んできた道を歩んでいる就職準備生、予備・新人開発者の皆さんと共有しようと思います。
私の知識が、皆さんに少しでもお役に立てれば幸いです。:D
全体
23件
全体
68件
4.4
68件の受講レビュー
受講レビュー 10
∙
平均評価 4.9
5
思ったより良い内容が多いのでたくさん助けました
良いレビューありがとうございますヒョンホ 役に立ったのは栄光です。 ヒョンホのレビューが多くの力になるようです 連休を送って良い一日良い明日になってください:)
受講レビュー 7
∙
平均評価 5.0
5
ぜひこの理論をプロジェクトに取り入れてみて、私のものにしたいです。
応援します宮廷:) 講義内容に基づいて意識しながらコードを書いてみてください。 すぐには遅くなって心が急になるかもしれませんが、 注 引き続き適用していくと誰が見てもきれいで調べる良いコードが完成するでしょう。 まだ慣れていない場合は、最初からあまりにも完璧に書こうとしないでください。 既存のプロジェクトのソースコードを修正したい場合は、 最初は変数名から意味のあるものに変更してみてください(とても混乱しているので、コードをどこからどのように変更するのかがとても感覚にならないときに特にお勧めします。) 変数の名前を変更した場合は、無意味な値の代入や(無駄な)一時変数を削除してください このようにすぐには大きな意味がないように見える小さな修正ステップを一段階ずつ踏んでみると不思議にも追加で修正する部分が一つ一つ見えるはずです。 ステップステップの修正を進めましたが、プロジェクトのコード 講義で申し上げる内容とは異なり、満足できず、もはや何をどうするか感がない場合は、設計の限界のためかもしれません。 このようなときは、コードレベルの修正も限界があるので、コンポーネントレベルでより大きな単位の修正が必要です。 ヒントをあげると、 無作為に始めないでください。 (ソースコードが複雑になるほど)全体のソースコードを大きく(詳細は気にしないで)、いくつかの段階に分けて整理した後に始めてください。 良いレビューありがとうございます:):)
受講レビュー 9
∙
平均評価 5.0
5
コンピュータ工学と在学生です。初めてクリーンコードについて基本的な枠組みを知ることができてよかったです。これをもとに少しずつ適用して練習して探していきながら勉強すれば、より良い開発者になりそうです! もう一度見ると目次を参考にするのは難しいですが、目次だけもう少し詳しく参考にしやすくしていただければと思います!
レビューありがとうございます 役に立ったなんて気持ちがとてもいいですね:) 目次はどのように変更すればいいのか一度悩みましょう。 できるだけ早い時期に変更できるようにします。 チュソク連休を送ってください。)
受講レビュー 7
∙
平均評価 4.6
5
ジュニア開発者としてクリーンコードが何なのかについて悩んでいましたが、その講義を見ながら少し輪郭が取れました。そして、私が思ったのと全く反対だったこともあって、受講することができたようです。良い講義ありがとうございます:)
Min Jungさん、良い言葉に感謝します。 (さっきの太田ゼボしてくださった方ですね?) すでに優れた開発者だと思います。 同じジュニア開発者として応援します:) コロナに気をつけて連休を過ごし、毎日毎日やりがいの良い一日になりたいです。 良いレビューはとても感謝しています
受講レビュー 1
∙
平均評価 5.0
5
現在フロントエンドエンジニアとして在職中の会社員です:) 初めて会社に入ってから射手も安心して事実上お会いしたり諮問を受けにくい部分が多かったです。しかし、その講義を聞いて、良いコードを書いて、なぜそうするべきかについてはっきりと分かりました。紹介に出てきたようにJava言語を知らないからといって理解できない講義でもないだけでなく、クリーンコードの本の内容で扱う中核的な内容を簡単に説明してくれて、軽く読んで理解できて良かったです。 会社に入る前や見栄えの良いコードを書いたい人に積極的にお勧めします!
助けてくれてありがとう。 :) 良いクリスマス良い年末を迎えてください そして良いレビューありがとう
同じ分野の他の講座を見てみましょう!
期間限定セール
¥3
25%
¥722