Submit Search
Upload
キレイなコードって.pdf
•
0 likes
•
20 views
shumashimo1
Follow
MVCフレームワーク利用した初心者でも明日からできるTips
Read less
Read more
Software
Report
Share
Report
Share
1 of 15
Download now
Download to read offline
Recommended
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
Yuki Hattori
20061007.saas
20061007.saas
Ken SASAKI
ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)
Atsushi Yokohama (BEACHSIDE)
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
A 1-2 One ASP.NET - ASP.NET Web Stack
A 1-2 One ASP.NET - ASP.NET Web Stack
GoAzure
20191129 AWS CloudFormarion
20191129 AWS CloudFormarion
yamamotomsc
Recommended
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
Yuki Hattori
20061007.saas
20061007.saas
Ken SASAKI
ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)
Atsushi Yokohama (BEACHSIDE)
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
A 1-2 One ASP.NET - ASP.NET Web Stack
A 1-2 One ASP.NET - ASP.NET Web Stack
GoAzure
20191129 AWS CloudFormarion
20191129 AWS CloudFormarion
yamamotomsc
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
normalian
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
政雄 金森
Power Apps term explanation
Power Apps term explanation
Makoto Maeda
Xamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#と
Masahiko Miyasaka
ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験
miso- soup3
backbone.jsの使用例 その1
backbone.jsの使用例 その1
Makoto Haruyama
こうあって欲しいIaC
こうあって欲しいIaC
Kentaro Higashi
IaC事始め
IaC事始め
大智 森田
[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001
Microsoft Tech Summit 2017
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
Akira Inoue
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
SAKURUG co.
20160317 ichigaya mt_cloud_handson
20160317 ichigaya mt_cloud_handson
Six Apart
About rails 3
About rails 3
issei126
【アジャイル道場】Rails勉強会(view編)
【アジャイル道場】Rails勉強会(view編)
Sosuke Kimura
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
サーバーレスアーキテクチャで作るモバイルバックエンド
サーバーレスアーキテクチャで作るモバイルバックエンド
Tsukasa Kato
くまあず平日夜の勉強会#4
くまあず平日夜の勉強会#4
Noriaki Sakata
Windows Azure Appfabric as "Middleware as a Services"
Windows Azure Appfabric as "Middleware as a Services"
Kazuyuki Nomura
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
Tadahiro Higuchi
More Related Content
Similar to キレイなコードって.pdf
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
normalian
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
政雄 金森
Power Apps term explanation
Power Apps term explanation
Makoto Maeda
Xamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#と
Masahiko Miyasaka
ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験
miso- soup3
backbone.jsの使用例 その1
backbone.jsの使用例 その1
Makoto Haruyama
こうあって欲しいIaC
こうあって欲しいIaC
Kentaro Higashi
IaC事始め
IaC事始め
大智 森田
[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001
Microsoft Tech Summit 2017
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
Akira Inoue
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
SAKURUG co.
20160317 ichigaya mt_cloud_handson
20160317 ichigaya mt_cloud_handson
Six Apart
About rails 3
About rails 3
issei126
【アジャイル道場】Rails勉強会(view編)
【アジャイル道場】Rails勉強会(view編)
Sosuke Kimura
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
サーバーレスアーキテクチャで作るモバイルバックエンド
サーバーレスアーキテクチャで作るモバイルバックエンド
Tsukasa Kato
くまあず平日夜の勉強会#4
くまあず平日夜の勉強会#4
Noriaki Sakata
Windows Azure Appfabric as "Middleware as a Services"
Windows Azure Appfabric as "Middleware as a Services"
Kazuyuki Nomura
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
Tadahiro Higuchi
Similar to キレイなコードって.pdf
(20)
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
Power Apps term explanation
Power Apps term explanation
Xamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#と
ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験
backbone.jsの使用例 その1
backbone.jsの使用例 その1
こうあって欲しいIaC
こうあって欲しいIaC
IaC事始め
IaC事始め
[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
20160317 ichigaya mt_cloud_handson
20160317 ichigaya mt_cloud_handson
About rails 3
About rails 3
【アジャイル道場】Rails勉強会(view編)
【アジャイル道場】Rails勉強会(view編)
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
サーバーレスアーキテクチャで作るモバイルバックエンド
サーバーレスアーキテクチャで作るモバイルバックエンド
くまあず平日夜の勉強会#4
くまあず平日夜の勉強会#4
Windows Azure Appfabric as "Middleware as a Services"
Windows Azure Appfabric as "Middleware as a Services"
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
キレイなコードって.pdf
1.
キレイなコードについて 作り始めに少し意識することで変わること
2.
スコープ 主にバックエンドの話をしたいなと思います。 本に書いてあるような〇〇原則ではなく、現場で出会った具体的なパターン 個別の倒し方(色々あるので)までは共有せずに、ヤバそうだなという認識を持てるように したい APIとフロントを分離したものではなく、フレームワークでフロントもバックエンドのコードも 持っているモノリスなサービスを前提にしようと思います。
3.
Saas系でよく利用する動的型付け言語のフレームワーク
4.
controller アプリケーションが要求するデータに入力を 変換する MVC アーキテクチャ View テンプレートからViewファイルを生成 する。APIにした場合 Model データベースとの通信を担当する。
5.
最低限のきれいなコードって キレイな要素色々 可読性、メンテナンス性、疎結合、バグの発生率、パフォーマンス 個人的に最低限のラインは 上限ラインを話し合われずに追加される 作成時のコストの倍以上で解消しなければいけなくなる負債
6.
Viewファイル
7.
大きめのviewファイル componentごとで分割されていないファイル 例えば views L shared L header.blage.php L
fotter.php L main.blade.php mainで大きく一括りになってしまっていて1ファイル が大きくなり過ぎてしまっているパターン 命名は色々ありますが、お知らせや特徴など要素ごとで 分割しよう
8.
Viewからの直接のmodel呼び出し 基本的なMVCを理解できてないパターン 依存関係をフル無視して、ViewからModelを呼び出 しているパターン。 時限爆弾的にmodelの修正をリリースした瞬間にフ ロントがぶっ壊れます。 書いた奴は誰か履歴を追いかけて特定したくなるレ ベルです。
9.
一部だけのView、一部だけのReact、一部だけ これは色々議論のあるケースですが、 流行りに乗って色々入れちゃったパターンです。 私のケースではjquery,Railsのテンプレートエンジン、Vue.jsが同居してました。 JSのフロントエンドフレームワークを使う際は どれを利用するか、バックエンドはAPIかするか、スケジュール感など話し合うことがたく さんあるので、気軽に「技術的なチャレンジ!!」とかで気軽に導入しないようにしましょ う。 フロントが闇鍋状態になってしまいます。
10.
ロジックモリモリのViewファイル bladeファイルの場合、@phpでデータの加工を行うようなパターン テストが書きにくくなり、使い回しができなくなるし、可読性も落ちます。 やるなら別の層でやりましょう。 フロントで使うのはif文動的なデータの呼び出しだけにしましょう
11.
Modelファイル
12.
fat model・fat controller メジャーな負債のパターンです。 大体どこのサービスもこの問題を抱えています。 太ったmodelとcontrollerという意味で、 データの加工、呼び出しを行ってしまうケースです。 具体的な基準はないですが、1ファイルが200~300行を超えてきたら、 知識のある人にどう分けるか一度相談した方が良いかと思います。
13.
Model内でのmodel同士の相互参照 モデル内でモデルを読んでしまう場合 右の例だとUser Model内でOrderModelを呼 んでいる例 複雑な加工をするが必要になった場合は Model以外の層を作ってそこから呼び出すよ うにする これが増えすぎるとModel同士の依存関係が 増え過ぎて、Oderをいじったのに User Modelはぶっ壊れるみたいなことが 起こります。 User Model Product Model Order Model Category Model
14.
重要なことは ・MVCは中規模のものを早く作ることにメリットがある分、 大規模になると保守性が下がりやすい、解決方法は色々あるので正解はない ・何がどこに書いてあるか方針を説明すれば、他のメンバーがわかること ・迷ったら分けるようにする。(メソッド、ファイル、ディレクトリ) ・命名で制御する。チャットで相談してもいいので、いいのを考える ・分け方は1人で考えず、みんなで考えよう
15.
前述のいい感じに解決するためには? となった人はここら辺 ・フレームワークと設計パターンでググる ・GPT4に聞いてみる ・本読む Software Design (ソフトウェアデザイン)
2023年6月号 [雑誌] Clean Architecture 達人に学ぶソフトウェアの構造と設計 ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ ・動画 なるセミさんの実践クリーンアーキテクチャとか https://www.youtube.com/@nrslib
Download now