Enviar búsqueda
Cargar
現場で役立つシステム設計の原則
•
16 recomendaciones
•
8,557 vistas
増田 亨
Seguir
DDD Alliance での発表内容。イベント参加者に事前記入してもらった質問や意見への私からの回答
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 11
Descargar ahora
Descargar para leer sin conexión
Recomendados
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
私にとってのテスト
私にとってのテスト
Takuto Wada
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
増田 亨
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
Recomendados
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
私にとってのテスト
私にとってのテスト
Takuto Wada
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
増田 亨
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
増田 亨
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
増田 亨
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
増田 亨
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
増田 亨
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
増田 亨
例外設計における大罪
例外設計における大罪
Takuto Wada
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
増田 亨
DDD sample code explained in Java
DDD sample code explained in Java
増田 亨
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
増田 亨
うさみみのソフトウェアテスト勉強法
うさみみのソフトウェアテスト勉強法
kyon mm
「マインドマップから始めるソフトウェアテスト」まとめ
「マインドマップから始めるソフトウェアテスト」まとめ
Kosuke Fujisawa
Más contenido relacionado
La actualidad más candente
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
増田 亨
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
増田 亨
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
増田 亨
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
増田 亨
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
増田 亨
例外設計における大罪
例外設計における大罪
Takuto Wada
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
増田 亨
DDD sample code explained in Java
DDD sample code explained in Java
増田 亨
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
増田 亨
La actualidad más candente
(20)
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
例外設計における大罪
例外設計における大罪
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
DDD sample code explained in Java
DDD sample code explained in Java
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
Destacado
うさみみのソフトウェアテスト勉強法
うさみみのソフトウェアテスト勉強法
kyon mm
「マインドマップから始めるソフトウェアテスト」まとめ
「マインドマップから始めるソフトウェアテスト」まとめ
Kosuke Fujisawa
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
増田 亨
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
増田 亨
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
増田 亨
Destacado
(6)
うさみみのソフトウェアテスト勉強法
うさみみのソフトウェアテスト勉強法
「マインドマップから始めるソフトウェアテスト」まとめ
「マインドマップから始めるソフトウェアテスト」まとめ
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
Similar a 現場で役立つシステム設計の原則
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
智治 長沢
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
智治 長沢
サービス開発における工程
サービス開発における工程
Hidetoshi Mori
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
agileware_jp
【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用
智治 長沢
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
智治 長沢
ZendStudioのご紹介
ZendStudioのご紹介
Manabu Shinsaka
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
ericsagnes
言語差異によるTDDプロセスへの影響度の解析
言語差異によるTDDプロセスへの影響度の解析
pocketberserker
Netadvantage 2012 volume2 最新情報 Reporting 編
Netadvantage 2012 volume2 最新情報 Reporting 編
Daizen Ikehara
Citrix eco new
Citrix eco new
Naotaka Jay HOTTA
今、おさえておきたい DevOps
今、おさえておきたい DevOps
智治 長沢
Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編
Daizen Ikehara
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
慎一 古賀
ドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩み
haljik Seiji
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Koichi ITO
Similar a 現場で役立つシステム設計の原則
(20)
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
サービス開発における工程
サービス開発における工程
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
ZendStudioのご紹介
ZendStudioのご紹介
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
言語差異によるTDDプロセスへの影響度の解析
言語差異によるTDDプロセスへの影響度の解析
Netadvantage 2012 volume2 最新情報 Reporting 編
Netadvantage 2012 volume2 最新情報 Reporting 編
Citrix eco new
Citrix eco new
今、おさえておきたい DevOps
今、おさえておきたい DevOps
Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
TDDはじめる前に
TDDはじめる前に
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
ドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩み
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Más de 増田 亨
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
増田 亨
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
増田 亨
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
増田 亨
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
増田 亨
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
増田 亨
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
増田 亨
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
増田 亨
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
増田 亨
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
増田 亨
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
増田 亨
SoR 2.0 summary
SoR 2.0 summary
増田 亨
毎日が越境だ!
毎日が越境だ!
増田 亨
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
増田 亨
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
増田 亨
Más de 増田 亨
(20)
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
SoR 2.0 summary
SoR 2.0 summary
毎日が越境だ!
毎日が越境だ!
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
現場で役立つシステム設計の原則
1.
現場で役立つ システム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 DDD Alliance 2017年8月30日 増田 亨
2.
よせられた質問やコメント(抜粋) • テストについて、もっと書いてほしかった • ドメイン駆動設計の
Entity/Aggregate/Factoryは? • サービスの固有名詞はユビキタス言語になりえるか? • プレゼンテーション層の文言をドメインモデルに? • メッセージの国際化 • update文を使わない理由 • すべてのカラムがNot Nullは、非現実的では? • Rest APIは分割のし過ぎ? • 受託開発でドメインエキスパートと会話できるケースが少ない
3.
いくつかの回答 • テストコード • 自分はめったに書かない(ミニフレームワーク開発の時くらい) •
実データ、実画面での動作確認はこまめにやっている • 経験的な品質保証 • プログラムの構造による品質保証 • プログラムの記述のわかりやすさによる品質保証 • Entity, Aggregate, Repository, Factory, … • DDD本の解説書の意図はなかった(橋渡しは意識した) • 手続き型の発想で解釈をしている人も多いので、書き方が難しい
4.
いくつかの回答 • サービス名の固有名詞はユビキタス言語の一部になるか? • コードの意図の説明に有効ならそのまま使う •
語呂合わせ的な名前であれば、それを説明する言葉に置き換える • 文字列表現はプレゼンテーション層の関心事では? • ドメイン層に持ってきたほうが、説明が明確になることが多い • Bean Validationのmessage属性(エラーの説明) • 状態の区分名( 未読、既読、保留など) • オブジェクトの文字列表現は、オブジェクトの重要なふるまい • 例えば、LocalDate.parse(“2017-08-30”), LocalDate#toString() • メッセージの国際化 • 今の自分たちには必要ない • 後から messages.propertiesに外だししても、それほどたいへんではない (構造的な変更ではないので不安定にならない)
5.
いくつかの回答 • SQL update文 •
集合の考え方として update は違和感がある • delete / insert は実装が簡単 (対象がなくても、追記できる) • すべてのカラムが Not Null は非現実的? • 実際にやっている • 特に困っていない • SQL のスキル+ IDE サポート • Rest API は分割のし過ぎでは? • 意味のある最小単位の発見が、プログラムを安定させる • 修正や拡張を(安定した)最小単位の組み合わせ方の変更にしたい
6.
いくつかの回答 • 受託開発の現場で、ドメインエキスパートとの会話は現実的に は難しい • サービス会社の内製でもたいへん •
エキスパート(経験者)とかいない場合も多い • 一般に話を聞きたいエキスパートほど忙しい • 説明が上手とは限らない • 開発者が積極的に学ぶ • それも開発の仕事の一部 • 画面、データ、マニュアル、ガイドブック、… • 触りたくなるソフトウェアを早く提供して、フィードバックをもらう • まちがい/見落としを早く発見する
7.
本の内容について、あなたの実践状況はいかがでしょうか? 合計:121 人 20.7 52.0 24.0 3.3 同じようなことを既に実践している 今後、実践していく予定 今後、実践してみたいがうちの現場では無理そう。。。 実践できそうもない
8.
導入の悩み • 徐々に実践しているが、なかなか効果が見えてこない • 全体を組み立てたサンプルコードが欲しい •
新規でないと難しいのでは? • まわりの理解・協力が得るのが難しい/時間がかかる • 意思統一が難しい • 既存のアーキテクチャ/フレームワークとの違いが大きすぎる • データベース中心の開発チーム • 自分のスキル不足、理解不足 • スケジュール、予算 サンプルコード: github : isolating-the-domain
9.
私がこころがけていること • 小さな実験を習慣にする • 失敗することも多い •
失敗するから実験 • 失敗体験は財産 • やりすぎてみる • 境界値を具体的に知る最善の方法 • 境界値(と思っていたこと)を超えた時に何が起きるか確かめる • 最初は(安全な)sandbox 環境で思う存分 • ある程度の見通しがたったら production コードで慎重に
10.
私がこころがけていること • 時間はかかる • 小分けにして •
少しずつ • とにもかくにも自分がすこしずつ変わる • 自分の変化をコードで測定する • 自分が書くコードに起きる変化 • 他人のコードを自分が読むときの変化 • 自分のコードを他人が読んだときの変化 • 現場で頼られる存在を目指す • 公式の役職・役割ではなく、現場の実質的なリーダー • 頼られるほど、裁量範囲が広くなる
11.
どこまで自分の裁量でできそうですか? • 変数名の変更 • 段落に分ける •
説明用変数の導入 • メソッドに抽出 • クラスに抽出 • 値オブジェクト • コレクションオブジェクト • 区分オブジェクト • パッケージの名前変更 • パッケージ構造の変更 • アーキテクチャ/フレームワークの変更 • 設計スタイルの変更
Descargar ahora