SlideShare a Scribd company logo
1 of 16
レガシーコード改善ガイド第9章 2011/04/10 @ルノアール四谷
本を読んで思ったことを話します
※注意 本の中身の解説はしません 自分で読んできてください
その1 テストコードは きれいに保つ
コードの重複を取り除く
カプセル化にこだわらない
Groovyならprivateにそのままアクセスできるよ
その2 テストコードは プロダクトコードから アクセスさせない
Mavenなら強制できるよ
その3 テストコードで 引数に とりあえずNull
人のコードを引き継いだときによくやる
プロダクトコードではやっちゃダメ!(原則)
その4 Nullオブジェクト パターン
ScalaだとOptionがある (?)
Groovyだと“?.” 演算子があるよ
レガシーコード改善ガイド輪読会 第9章

More Related Content

Viewers also liked

Nitrogen Suppy To Improve Vine Balance
Nitrogen Suppy To Improve Vine BalanceNitrogen Suppy To Improve Vine Balance
Nitrogen Suppy To Improve Vine Balance
uttamfloray
 
Matt's COH powerpoint
Matt's COH powerpointMatt's COH powerpoint
Matt's COH powerpoint
guest171f98
 
School Viol Slideshow
School Viol SlideshowSchool Viol Slideshow
School Viol Slideshow
KEEgg
 
PDFtrial2
PDFtrial2PDFtrial2
PDFtrial2
kemp77
 
DiMatteo Insurance Service Summary Jd 7 18 06
DiMatteo Insurance Service Summary Jd 7 18 06DiMatteo Insurance Service Summary Jd 7 18 06
DiMatteo Insurance Service Summary Jd 7 18 06
rlesko
 

Viewers also liked (20)

#NewInternet
#NewInternet#NewInternet
#NewInternet
 
Eventi online - gestione e promozione
Eventi online - gestione e promozioneEventi online - gestione e promozione
Eventi online - gestione e promozione
 
Photo of the day
Photo of the dayPhoto of the day
Photo of the day
 
Treeshed story
Treeshed storyTreeshed story
Treeshed story
 
Hydrogen Progress, Priorities and Opportunities
Hydrogen Progress, Priorities and OpportunitiesHydrogen Progress, Priorities and Opportunities
Hydrogen Progress, Priorities and Opportunities
 
Mafia 2
Mafia 2Mafia 2
Mafia 2
 
Nitrogen Suppy To Improve Vine Balance
Nitrogen Suppy To Improve Vine BalanceNitrogen Suppy To Improve Vine Balance
Nitrogen Suppy To Improve Vine Balance
 
Matt's COH powerpoint
Matt's COH powerpointMatt's COH powerpoint
Matt's COH powerpoint
 
Jaroslav Seifert - Look at book
Jaroslav Seifert - Look at bookJaroslav Seifert - Look at book
Jaroslav Seifert - Look at book
 
Social Media Challenge, News & Trends 2014
Social Media Challenge, News & Trends 2014Social Media Challenge, News & Trends 2014
Social Media Challenge, News & Trends 2014
 
FNPW and Preserving Planet Earth
FNPW and Preserving Planet EarthFNPW and Preserving Planet Earth
FNPW and Preserving Planet Earth
 
School Viol Slideshow
School Viol SlideshowSchool Viol Slideshow
School Viol Slideshow
 
Freelance Robotics Company Profile V1 2
Freelance Robotics Company Profile V1 2Freelance Robotics Company Profile V1 2
Freelance Robotics Company Profile V1 2
 
Guida Ebooks & iBooks Author
Guida Ebooks & iBooks Author Guida Ebooks & iBooks Author
Guida Ebooks & iBooks Author
 
RomanèS
RomanèSRomanèS
RomanèS
 
Bird Diversity Modeling Using Geostatistics and GIS
Bird Diversity Modeling Using Geostatistics and GISBird Diversity Modeling Using Geostatistics and GIS
Bird Diversity Modeling Using Geostatistics and GIS
 
PDFtrial2
PDFtrial2PDFtrial2
PDFtrial2
 
Teens' Top Ten
Teens' Top TenTeens' Top Ten
Teens' Top Ten
 
DiMatteo Insurance Service Summary Jd 7 18 06
DiMatteo Insurance Service Summary Jd 7 18 06DiMatteo Insurance Service Summary Jd 7 18 06
DiMatteo Insurance Service Summary Jd 7 18 06
 
School awards
School awardsSchool awards
School awards
 

More from ikikko

JenkinsによるCIの導入
JenkinsによるCIの導入JenkinsによるCIの導入
JenkinsによるCIの導入
ikikko
 

More from ikikko (20)

SCRUMMASTER THE BOOKで広がるスクラムマスターの世界
SCRUMMASTER THE BOOKで広がるスクラムマスターの世界SCRUMMASTER THE BOOKで広がるスクラムマスターの世界
SCRUMMASTER THE BOOKで広がるスクラムマスターの世界
 
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
 
スクラム風でのつまずき体験から学んだこと
スクラム風でのつまずき体験から学んだことスクラム風でのつまずき体験から学んだこと
スクラム風でのつまずき体験から学んだこと
 
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
 
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
 
Devとopsをつなぐchat ops
Devとopsをつなぐchat opsDevとopsをつなぐchat ops
Devとopsをつなぐchat ops
 
エンジニア目線での対外ブランディング ~ヌーラボ編~
エンジニア目線での対外ブランディング ~ヌーラボ編~エンジニア目線での対外ブランディング ~ヌーラボ編~
エンジニア目線での対外ブランディング ~ヌーラボ編~
 
Jenkinsユーザカンファレンス2015 前座資料
Jenkinsユーザカンファレンス2015 前座資料Jenkinsユーザカンファレンス2015 前座資料
Jenkinsユーザカンファレンス2015 前座資料
 
Nulabとawsと私
Nulabとawsと私Nulabとawsと私
Nulabとawsと私
 
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
 
ヌーラボのサービス開発の裏側公開しちゃいます
ヌーラボのサービス開発の裏側公開しちゃいますヌーラボのサービス開発の裏側公開しちゃいます
ヌーラボのサービス開発の裏側公開しちゃいます
 
Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方
Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方
Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方
 
Jenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみようJenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみよう
 
Jenkins実践入門のnext step
Jenkins実践入門のnext stepJenkins実践入門のnext step
Jenkins実践入門のnext step
 
JenkinsによるCIの導入
JenkinsによるCIの導入JenkinsによるCIの導入
JenkinsによるCIの導入
 
モテBTS ~ backlog ~
モテBTS ~ backlog ~モテBTS ~ backlog ~
モテBTS ~ backlog ~
 
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1
 
G*ワークショップ+忘年LT大会
G*ワークショップ+忘年LT大会G*ワークショップ+忘年LT大会
G*ワークショップ+忘年LT大会
 
エルシャダイで学ぶ、大丈夫な「ビルド通知」
エルシャダイで学ぶ、大丈夫な「ビルド通知」エルシャダイで学ぶ、大丈夫な「ビルド通知」
エルシャダイで学ぶ、大丈夫な「ビルド通知」
 
今から始めるGoogle apps scirpt
今から始めるGoogle apps scirpt今から始めるGoogle apps scirpt
今から始めるGoogle apps scirpt
 

Recently uploaded

Recently uploaded (10)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations