Upgrade to Pro — share decks privately, control downloads, hide ads and more …

歴8年のエンジニアが 改めて『Clean Code』 を読んでみた結果

歴8年のエンジニアが 改めて『Clean Code』 を読んでみた結果

JUNE-JUNE

March 25, 2022
Tweet

Other Decks in Technology

Transcript

  1. 自己紹介 HN:JUNE-JUNE ‣ 本名:植竹(ウエタケ) ‣ 1社目:受託開発エンジニア  2社目:アプリのサーバーサイドエンジニア 現在:自社サービスのWebエンジニア 現所属 ‣

    虎の穴ラボ ‣ オタクの多いエンジニア会社 ‣ 主にFantiaやってます 比較的得意なもの ‣ Rails ‣ GCP 趣味コンテンツ ‣ バンドリ ‣ 金曜日のWebマンガ各種
  2. 『メソッド』について def test_controller test_model = TestModel.find(1) message = test_model.update_test_name_message ※戻り値を用いた表示処理※

    end class TestModel def update_test_name_message self.save(name: ‘hoge’) "名前は#{self.name}" end end def test_controller test_model = TestModel.find(1) test_model.update_name message = test_model.get_name_message ※戻り値を用いた表示処理※ end class TestModel def update_name self.save(name: ‘hoge’) end def get_name_message "名前は#{self.name}" end end メソッドは増えるが、 右のほうが目的が明瞭。 ※サンプルソースは  Rubyとなります
  3. 『エラー』について def test_controller response = TestModel.test_method if(response[:result]) ※成功時の表示 ※ else

    ※失敗時の表示 ※ end end class TestModel def self.test_method begin raise ‘Error’ rescue return { result: false } end { result: true } end end def test_controller TestModel.test_method ※成功時の表示※ rescue ※失敗時の表示※ end class TestModel def self.test_method raise ‘Error’ end end すごく極端な例だが、 右の方がネストが浅く 理解しやすいコードとなる ※サンプルソースは  Rubyとなります