木村/Research Subject
Technical Debt†
Research Memo†
Technical DebtとBugやCode Smellとの違いとは?†
- Technical DebtのラベルがついたIssueとTechnical DebtのラベルがついていないIssueをそれぞれTD-IssueとNon-TD-Issueと暫定的に定義する
- Commit MessageからIssue IDを抽出しFixing CommitとIssueの紐付けを行う
- さらに,Commit Guruを用いて,Fixing Commitの修正対象CommitであるInducing Commitを抽出し,Fixing CommitとInducing Commitの紐付けを行う
- (紐付けのイメージ) Issue - Fixing Commit - Inducing Commit
- TD-Issueと紐づいたInducing CommitをTD-Code,Non-TD-Issueと紐づいたInducing CommitをNon-TD-Codeと暫定的に定義する
- TD-CodeとNon-TD-Codeの比較を行う
- 変更量,複雑度,変更ファイルの種類(コーディング規約など),Fan-In,Fan-Outなど
- (検討)変更ファイル数,他になにがあるかわからん...
- TD-Codeと Non-TD-Codeに違いがなかった場合
- Issueのラベルに基づいてTD-CodeとNon-TD-Codeをさらに細分化し比較を行う
- (例)UIのTD-CodeとNon-TD-Codeの比較