狠狠撸

狠狠撸Share a Scribd company logo
#aadojo
チーム开発で徐々にコード品质をあげていく取り组み
2022/09/08 AADojo #7
Yuta Matsumura
#aadojo
松村 優大 (MLBお兄さん)
Chief Technical Architect (C#, PHP, Azure)
Microsoft MVP (Developer Technologies)
#fukuten #devblogradio の中の人
@tsubakimoto_s
Currently working for
#aadojo
オ社エンジニアリングチームの普段のお仕事
技術コンサルティング
? 壁打ちアドバイザリー
? トレーニング
? ハックフェスト (Azure Light-up)
? 共同開発
#aadojo
依頼者のモチベーション
組織的な課題
? プロダクトが陳腐化してきた
? 開発や運用の環境を最新化し
たい
? 新しい技術を扱えるエンジニ
アを育成したい
? など
技術的な課題
? 開発スピードを向上したい
? クラウドを使いたい
? 自動化の仕組みを構築したい
? など
#aadojo
依頼者のモチベーション
組織的な課題
? プロダクトが陳腐化してきた
? 開発や運用の環境を最新化し
たい
? 新しい技術を扱えるエンジニ
アを育成したい
? など
技術的な課題
? 開発スピードを向上したい
? クラウドを使いたい
? 自動化の仕組みを構築したい
? など
#aadojo
オ社エンジニアリングチームの普段のお仕事
技術コンサルティング
? 壁打ちアドバイザリー
? トレーニング
? ハックフェスト (Azure Light-up)
? 共同開発
実際に手を動かして
成果を上げていきたい
#aadojo
開発環境 運用環境
#aadojo
CI/CD
#aadojo
CI/CD
#aadojo
CI/CD は最初から用意しよう
1. GitHub にリポジトリを作成する
2. 最初のコミットを行う (Hello World なアプリ)
3. CI/CD を構成?実行する
4 ~ n. 開発する ? 常に CI/CD が実行される
※「複雑になってから追加する」のは大変
#aadojo
依頼者のモチベーション
組織的な課題
? プロダクトが陳腐化してきた
? 開発や運用の環境を最新化し
たい
? 新しい技術を扱えるエンジニ
アを育成したい
? など
技術的な課題
? 開発スピードを向上したい
? クラウドを使いたい
? 自動化の仕組みを構築したい
? など
#aadojo
少し昔話 ここから
こんな経験ありませんか?
#aadojo
private void Hoge()
{
// 20YY/MM/DD ここから A社 Matsumura
// var x = ...;
// var y = ...;
// ~~数百行にも及ぶコメントアウト~
doSomething();
// var x = ...;
// var y = ...;
// ~~数百行にも及ぶコメントアウト~
// 20YY/MM/DD ここまで A社 Matsumura
}
#aadojo
private void Hoge()
{
// 20YY/MM/DD ここから A社 Matsumura
// var x = ...;
// var y = ...;
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
doSomething();
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// ~~数百行にも及ぶコメントアウト~
// var x = ...;
// var y = ...;
// ~~数百行にも及ぶコメントアウト~
// 20YY/MM/DD ここまで A社 Matsumura
}
#aadojo
少し昔話 ここまで
#aadojo
コーディングで意識していること
開発スピードを向上したい+メンテしやすいコードを書く
#aadojo
コーディングで意識していること
開発スピードを向上したい+メンテしやすいコードを書く
1. コードの共通化
2. コードの分離
3. こまめなリファクタリング
※ C# / ASP.NET Core を例にします
#aadojo
1. コードの共通化
? 機能を「単にコピペして増やす」ことをしない
? これから作るものを俯瞰して
「ここ共通化したほうがいいんじゃね?」
と考えることができる力を養おう
? ビジネスロジック:“継承”を適切に行う
? UIロジック:“部分ビュー”を活用する
#aadojo
2. コードの分離
? ビジネスロジックとUI ロジックを混ぜない
? オブジェクト指向の知識は必要
? 依存関係の注入 (Dependency Injection) を活用
? デザインパターンを使っていく
#aadojo
3. こまめなリファクタリング
1 や 2 も最初から完璧に実践するのは難しいです。
継続的にリファクタリングを行い、徐々にコードの共通化や
分離をしていくことで、コードの品質を高めていきましょう。
慣れてくると「リファクタリングしながら
実装する」ができるようになります。
機能を実装する
▼
リファクタリングする
▼
機能を実装する
▼
リファクタリングする
▼
…
#aadojo
リファクタリングにビビりたくない!
デグレ的に
#aadojo
「テスト」を大事にしたい
? ソフトウェアの品質を検証するために行う
? テストの種類
? 単体テスト
? 結合テスト
? 総合テスト
? 負荷テスト
#aadojo
「テスト」を大事にしたい
? ソフトウェアの品質を検証するために行う
? テストの種類
? 単体テスト
? 結合テスト
? 総合テスト
? 負荷テスト
単体テストを担当することは OJT に適している
単体テストを作る利点①
? テスト対象の機能を動かす
? アプリケーションの仕様を把握できる
? 業務知識を得ることができる
単体テストを作る利点②
? テスト対象のコードを読む
? コードを理解するためにプログラミングを学ぶ
? デバッグという作業に慣れる
? 他者のコードを読む習慣が身につく
#aadojo
コードの依存関係を明確にして
テストをしやすくする
#aadojo
依存関係と単体テスト
対象のクラス
プロパティ
コンストラクタ
メソッド
private
protected
public
XxxService
クラス
処理の差し替えができるなら、依存先
の実装内容を気にせず単体テストがで
きる。
処理の差し替えができないなら、依存
先を考慮したテストデータ、テスト
ケースを準備しないといけない。
処理の差し替えをするには、依存先の
クラスにインターフェースを割り当て
る。
#aadojo
インターフェース
インターフェースとはクラスが実装すべき規約(どういうメ
ソッドにどういう引数を渡すかなど)を定めるものです。
すなわち、クラス設計者とクラス利用者の間の仲介役を担う
のがインターフェースです。
引用元:ufcpp.net
#aadojo
UsersController
IUserService
IUserRepository
UserService
UserRepository DbContext etc
DI
実装
実装
DI
DI
DI : Dependency Injection (依存性注入)
データストアを
操作するクラス
ビジネスロジック
Store
#aadojo
UsersController
IUserService
IUserRepository
UserService
UserRepository DbContext etc
DI
実装
実装
DI
DI
Store
#aadojo
IUserRepository
UserService
UserRepository
実装
DI
#aadojo
IUserRepository
UserService
UserRepository
実装
DI
MockUserRepository
テスト
単体テストで
差し替える
List<User>
DB代わりの
コレクション
#aadojo
UsersController
IUserService
MockUserService
UserService
DI
実装 テスト
#aadojo
/YutaMatsumura/ss-120432806
コードレベルの解説は過去スライドで
#aadojo
@alterbooth_inc
オルターブース
Alternative Architecture DOJO

More Related Content

What's hot (20)

PDF
Modeling in the Agile Age - JP
Kenji Hiranabe
?
PPTX
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
NTT DATA Technology & Innovation
?
PDF
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
?
PDF
NVIDIA HPC ソフトウエア斜め読み
NVIDIA Japan
?
PDF
作る人から作りながら运用する人になっていく
Ryo Mitoma
?
PDF
実践 NestJS
Ayumi Goto
?
PDF
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
?
PDF
最近のストリーム処理事情振り返り
Sotaro Kimura
?
PDF
Amazon ElastiCacheのはじめ方
Amazon Web Services Japan
?
PDF
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと
Takayuki Ishikawa
?
PPTX
惭辞苍驳辞顿叠か?遅いときの切り分け方法
Tetsutaro Watanabe
?
PDF
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
Amazon Web Services Japan
?
PDF
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Koichiro Matsuoka
?
PDF
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
Amazon Web Services Japan
?
PPTX
顿辞肠办别谤-颁辞尘辫辞蝉别を贰颁厂にデプロイしたい
Ryo Ishii
?
PPTX
初心者向け惭辞苍驳辞顿叠のキホン!
Tetsutaro Watanabe
?
PDF
窜翱窜翱罢翱奥狈のマルチクラウドへの挑戦と挫折、そして未来
Hiromasa Oka
?
PDF
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Koichiro Sumi
?
PDF
SmartNewsのニュース配信を支えるサーバ技術 / Kazhiro Sera @ SmartNews,Inc. #jjug_ccc
SmartNews, Inc.
?
PPTX
テ?ータ収集の基本と「闯补辫补苍罢补虫颈」アフ?リにおける実践例
Tetsutaro Watanabe
?
Modeling in the Agile Age - JP
Kenji Hiranabe
?
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
NTT DATA Technology & Innovation
?
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
?
NVIDIA HPC ソフトウエア斜め読み
NVIDIA Japan
?
作る人から作りながら运用する人になっていく
Ryo Mitoma
?
実践 NestJS
Ayumi Goto
?
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
?
最近のストリーム処理事情振り返り
Sotaro Kimura
?
Amazon ElastiCacheのはじめ方
Amazon Web Services Japan
?
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと
Takayuki Ishikawa
?
惭辞苍驳辞顿叠か?遅いときの切り分け方法
Tetsutaro Watanabe
?
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
Amazon Web Services Japan
?
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Koichiro Matsuoka
?
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
Amazon Web Services Japan
?
顿辞肠办别谤-颁辞尘辫辞蝉别を贰颁厂にデプロイしたい
Ryo Ishii
?
初心者向け惭辞苍驳辞顿叠のキホン!
Tetsutaro Watanabe
?
窜翱窜翱罢翱奥狈のマルチクラウドへの挑戦と挫折、そして未来
Hiromasa Oka
?
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Koichiro Sumi
?
SmartNewsのニュース配信を支えるサーバ技術 / Kazhiro Sera @ SmartNews,Inc. #jjug_ccc
SmartNews, Inc.
?
テ?ータ収集の基本と「闯补辫补苍罢补虫颈」アフ?リにおける実践例
Tetsutaro Watanabe
?

Similar to チーム开発で徐々にコード品质をあげていく取り组み (20)

PPTX
Developers Summit 2019 Summer(デブサミ2019夏)
tracksrun
?
PDF
アジャイルマネジメントとは?
Kiro Harada
?
PDF
【Microsoft Conference Japan Tour 2010】 T4-2 クラウド時代を迎えたソフトウェア開発における現場力の向上
智治 長沢
?
PDF
オタクエンジニアを热くさせる!モチベーションをあげるチームビルディング
虎の穴 開発室
?
PDF
地図を捨ててコンパスを頼りに进め
Dai FUJIHARA
?
PDF
地図を捨ててコンパスを頼りに进め
Rakuten Group, Inc.
?
PDF
オタクエンジニアを热くさせる!モチベーションと効率をあげるチームビルディング冲20210611冲罢别肠丑顿补测#1冲3
虎の穴 開発室
?
PDF
Xp2
Toru Koido
?
PDF
アイテ?アを形にする ①フ?ロタ?クト設計のイロハを学ふ?
DIVE INTO CODE Corp.
?
PPTX
アジャイルジャパン2015 講演資料
KDDI
?
PDF
経営のアジリティを支える顿别惫翱辫蝉と组织
Recruit Technologies
?
PDF
文化をつくる词エンジニアを超えた真の顿别惫翱辫蝉への旅词
大貴 蜂須賀
?
PDF
公司组织论としてのオーフ?ンイノヘ?ーション
Osaka University
?
PDF
CEDEC2015講演 チーム開発をスムーズにするために
Takafumi Ikeda
?
PPT
レガシーコード読書会 20120618
Suguru Shirai
?
PDF
どうすれば小さなチームでも大きな成果を出せるのか
Yoshihito Kuranuki
?
PDF
ワンクリックデプロイ ?いつまで手でデプロイしてるんですか? #devsumiA
Ryutaro YOSHIBA
?
PDF
20110330 toc思考プロセス入門
一法 山崎
?
PDF
ソフトウェア开発の现场风景
Koichi ITO
?
Developers Summit 2019 Summer(デブサミ2019夏)
tracksrun
?
アジャイルマネジメントとは?
Kiro Harada
?
【Microsoft Conference Japan Tour 2010】 T4-2 クラウド時代を迎えたソフトウェア開発における現場力の向上
智治 長沢
?
オタクエンジニアを热くさせる!モチベーションをあげるチームビルディング
虎の穴 開発室
?
地図を捨ててコンパスを頼りに进め
Dai FUJIHARA
?
地図を捨ててコンパスを頼りに进め
Rakuten Group, Inc.
?
オタクエンジニアを热くさせる!モチベーションと効率をあげるチームビルディング冲20210611冲罢别肠丑顿补测#1冲3
虎の穴 開発室
?
アイテ?アを形にする ①フ?ロタ?クト設計のイロハを学ふ?
DIVE INTO CODE Corp.
?
アジャイルジャパン2015 講演資料
KDDI
?
経営のアジリティを支える顿别惫翱辫蝉と组织
Recruit Technologies
?
文化をつくる词エンジニアを超えた真の顿别惫翱辫蝉への旅词
大貴 蜂須賀
?
公司组织论としてのオーフ?ンイノヘ?ーション
Osaka University
?
CEDEC2015講演 チーム開発をスムーズにするために
Takafumi Ikeda
?
レガシーコード読書会 20120618
Suguru Shirai
?
どうすれば小さなチームでも大きな成果を出せるのか
Yoshihito Kuranuki
?
ワンクリックデプロイ ?いつまで手でデプロイしてるんですか? #devsumiA
Ryutaro YOSHIBA
?
20110330 toc思考プロセス入門
一法 山崎
?
ソフトウェア开発の现场风景
Koichi ITO
?
Ad

More from Yuta Matsumura (20)

PDF
「自分のとこでは動くけど…」を無くす devcontainer
Yuta Matsumura
?
PDF
.NETのサポートポリシーのおさらい #csharptokyo
Yuta Matsumura
?
PDF
App Modernization for .NET
Yuta Matsumura
?
PDF
分かったうえではじめる颁滨/颁顿
Yuta Matsumura
?
PDF
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
?
PDF
いつでもどこでも .NET
Yuta Matsumura
?
PDF
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
?
PDF
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
?
PDF
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
Yuta Matsumura
?
PDF
Azure の ID 管理サービスに LINE ログインを組み込もう
Yuta Matsumura
?
PDF
Blazor Server テンプレート解説
Yuta Matsumura
?
PDF
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
?
PDF
改めて C# でできることを振り返る
Yuta Matsumura
?
PDF
スタートアップ公司が実践するクラウドネイティブアプリケーションの开発手法
Yuta Matsumura
?
PDF
忙しい人のための .NET Conf 2019 まとめ
Yuta Matsumura
?
PDF
.NET Conf の歩き方
Yuta Matsumura
?
PDF
PHPカンファレンス福岡2019 閉会式
Yuta Matsumura
?
PDF
PHPカンファレンス福岡2019 開会式
Yuta Matsumura
?
PDF
これから始める Bot Builder 開発のコツと舞台裏
Yuta Matsumura
?
PDF
ASP.NET Core 2.x Identityについて
Yuta Matsumura
?
「自分のとこでは動くけど…」を無くす devcontainer
Yuta Matsumura
?
.NETのサポートポリシーのおさらい #csharptokyo
Yuta Matsumura
?
App Modernization for .NET
Yuta Matsumura
?
分かったうえではじめる颁滨/颁顿
Yuta Matsumura
?
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
?
いつでもどこでも .NET
Yuta Matsumura
?
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
?
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
?
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
Yuta Matsumura
?
Azure の ID 管理サービスに LINE ログインを組み込もう
Yuta Matsumura
?
Blazor Server テンプレート解説
Yuta Matsumura
?
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
?
改めて C# でできることを振り返る
Yuta Matsumura
?
スタートアップ公司が実践するクラウドネイティブアプリケーションの开発手法
Yuta Matsumura
?
忙しい人のための .NET Conf 2019 まとめ
Yuta Matsumura
?
.NET Conf の歩き方
Yuta Matsumura
?
PHPカンファレンス福岡2019 閉会式
Yuta Matsumura
?
PHPカンファレンス福岡2019 開会式
Yuta Matsumura
?
これから始める Bot Builder 開発のコツと舞台裏
Yuta Matsumura
?
ASP.NET Core 2.x Identityについて
Yuta Matsumura
?
Ad

Recently uploaded (13)

PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
PDF
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
PDF
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
PDF
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?

チーム开発で徐々にコード品质をあげていく取り组み