Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Experiment]: A Wall of Technical Debt #809

Open
1 of 12 tasks
philou opened this issue Oct 8, 2024 · 0 comments
Open
1 of 12 tasks

[Experiment]: A Wall of Technical Debt #809

philou opened this issue Oct 8, 2024 · 0 comments
Assignees
Labels
documentation Improvements or additions to documentation experiment An experimentation M Medium refactoring

Comments

@philou
Copy link
Contributor

philou commented Oct 8, 2024

Contact Details

[email protected]

Feature Request

We keep getting bothered by smells in the code, yet we don't know which ones are the most painful and if we should tackle them

Feature Description

Let's experiment a remote-friendly Wall of Technical Debt (https://verraes.net/2020/01/wall-of-technical-debt/).
We decided to try this by using FIXME comments in the code. It has the advantage of already being tracked by existing tools (IDEs and Sonar).

We decided also that we will suffix a FIXME with a X everytime it gets in the way of coding. This will help us to prioritize which FIXMEs are the most urgent to fix.

Alternatives

  • a physical board at the office: we don't always work together, and it's not transposable to other teams, which reduces the experiment's value
  • an online board (Miro or other): we would need to pay, and it's decorrelated from the repo
  • a file in the repo representing the wall: we would need to point this out to the area of code in question + greater risk of forgetting to update the file as it it far from the smell

Additional Context

Write your answer here.

Code of Conduct

  • I agree to follow this project's Code of Conduct

TODO

  • Add FIXMEs to the code base
  • check that they are brought up well in tools
    • IDE
    • Sonar
  • Use them for a while
  • quickly retrospect how the practice work, how it should be improved or replaced
  • Update the coding conventions to explain how this works, and what needs to be done to contribute
    • Any IDE configuration to do?

Parking (maybe later)

  • Write a go script that generates a "wall of tech debt" file (markdown or mermaid) from grepping the code (ae8016d)
    • Include the git history of the FIXME line to highlight what kind of changes impact is hindered by this smell
    • Use AI to analyze the git history of the FIXME line
@philou philou added the enhancement New feature or request label Oct 8, 2024
@philou philou added documentation Improvements or additions to documentation M Medium refactoring experiment An experimentation and removed enhancement New feature or request labels Oct 8, 2024
philou added a commit that referenced this issue Oct 8, 2024
To experiment tracking technical debt in the code.
- add FIXME comments for 2 smells we stumbled on when coding #674
philou added a commit that referenced this issue Oct 11, 2024
To support VCS that don't manage emojies
- extract CommitMessage, functions, and tests to their own files
- spot commit message status on string containing tag rather than matching full header
- add test for this new tag matching
- refactoring and code cleanup
philou added a commit that referenced this issue Oct 11, 2024
To support VCS that don't manage emojies
- don't call convertLine anymore in p4
- remove OS specific encoding
- remove code
- remove tests
mengdaming pushed a commit that referenced this issue Oct 11, 2024
To experiment tracking technical debt in the code.
- add FIXME comments for 2 smells we stumbled on when coding #674
philou added a commit that referenced this issue Oct 11, 2024
To support VCS that don't manage emojies
- extract CommitMessage, functions, and tests to their own files
- spot commit message status on string containing tag rather than matching full header
- add test for this new tag matching
- refactoring and code cleanup
philou added a commit that referenced this issue Oct 11, 2024
To support VCS that don't manage emojies
- don't call convertLine anymore in p4
- remove OS specific encoding
- remove code
- remove tests
mengdaming pushed a commit that referenced this issue Oct 11, 2024
mengdaming added a commit that referenced this issue Oct 11, 2024
- add missing method descriptions
- ignore gosec false positive in tcr_test.go
- simplify tcr.parseCommitStatus()
- rewrite tcr.isTCRCommitMessage() so that it leverages on tcr.parseCommitStatus()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation experiment An experimentation M Medium refactoring
Projects
Development

No branches or pull requests

3 participants