Years in IT, Full Stack, Agilest Video Gaming, Anime speakerdeck.com/kjenkins19 [email protected] Twitter: @kjenkinsdev TLC Slack: @kyle.jenkins https://techlife-columbus-slack.herokuapp.com/
less value than it produces. – Can be modified to generate additional value. • Common Examples – Dead Code, Legacy Code – Out of date documentation – Processes
code? – identify dead variables? – go from a broken test to the related code? – see code coverage? – identify broken code standards? – extract new classes or methods? – identify usages of any entity? • Variables, Functions, Classes, etc. – see changes after writing code? – see real warnings and errors? – run duplicate code analysis? – identify code complexity? • .1, 1, 5, 10 Second Limits -XKCD
changes based on standard coding patterns If an IDE cannot comprehend your code: • The new guy can’t either • Reinforce poor standards on a global level
can be blocked • Living, ever changing with the needs of the team/business • Should keep under version control • Delete Dead Documentation • Improves with Experience • Should be tested! • Excellent summary from Keith Wedinger https://jkwuc89.github.io/presentations/
testing • 3rd Party systems, external of the current code base – Determine value without interfering with current code base: no tech debt – Dependencies on current interface, and simple changes can break the test
testing • Internal flags – Both code bases exist at once: tech debt incoming – Technical planning up front to separate out any code associated with the test. – Include the removal of either one as part of the cost of the project.
testing • Utilize Git: More than one release branch – All updates while A/B test is live must function on both the primary code base, as well as property the test branch. This generally means “locking” some code so it cannot be modified during the test – Really simple from a code perspective to either succeed or fail the test. No tech debt. – Migrates most of the work to the operations teams.
worked on feature. During, not after. • Let the team create solutions, instead coach them to focus on the root cause. Measure outcome. • Draw out your current process. Look for blocks which may encourage poor standards in quality.
Years in IT, Full Stack, Agilest Video Gaming, Anime speakerdeck.com/kjenkins19 [email protected] Twitter: @kjenkinsdev TLC Slack: @kyle.jenkins https://techlife-columbus-slack.herokuapp.com/