The other day, an Informatics student from the University of Edinburgh sent me an email with questions about technical debt in JSHint. I replied to his email. Then I remembered I have a collection that looked like it was the perfect fit for that reply.
I don’t know if I’m the best person to answer these questions since for me, after three years of working on JSHint, the whole project is my eternal technical debt. But I will try nevertheless.
So my short questions to you are:
1. How much Technical Debt does the default (master) branch of jshint/jshint have from your point of view?
0 (none) — 1 (few) — 2 (average) — 3 (much) — 4 (very much)
4, very much. JSHint has a lot of technical debt. It mainly comes from two sources: JSLint, which was the project we forked to create JSHint and random hacks we had to do in order to get around JSLint’s debt.
2. Compared to the same repository on January the first (01/01/2014), how is the amount of Technical Debt now?
0 (much lower) — 1 (a little lower) — 2 (about the same) — 3 (a little higher) — 4 (much higher)
1, a little lower. I did a few waves refactoring so things are looking better now. Lexer is no longer a giant regular expression and so on. But it’s like having a cup of cold water in hell. It’s certainly nice to have that cup but that doesn’t change the fact that you’re still in hell.