Hacker News new | ask | show | jobs
by edw519 4618 days ago
Hi, OP. Thanks for the interesting post. Off the top of my head:

1. Variables declared or assigned, but never referenced again

2. Improper variable scope (local/global)

3. Reserved words (by language, framework, industry, app) used as variables

4. Improperly reused variable names

5. Improperly named variables (1 or 2 characters, contained in another variable name)

6. Too difficult to understand variable or function names

7. Function names must be Verb-Adjective-Noun

8. Variable names must be Adjective-Noun

9. Improper data type

10. Repeated (in one or more programs) code for which reusable code should be written. (Any future maintenance must only be done in one place.)

11. Fresh code rolled instead of using existing reusable code meant for that purpose.

12. Partially complete data base updates

13. Improper data base locking

14. Non-standard UI widgets

15. Version control problems (didn't start with current production version)

16. Not all changes documented with ticket#

17. Case/switch statements without fall-through clause (case 1)

18. Improperly structured if...then statements

19. if...then statements too long (according to published standard)

20. Improper indenting/spacing (according to published standard)

21. Comments don't match code

22. Comments inaccurate

23. Calling/using obsolete/deprecated code

24. Not backward compatible

25. Obviously works under only certain conditions (which will be caught in testing)

26. New code inserted in wrong place (if...then, case, function, etc.)

27. Obviously missing data base updates

28. Obviously missing API calls

29. What else?

1 comments

Great list (especially "off the top of your head"). Thanks a lot for sharing. Several of those can actually be implemented in an automated tool (styles, short variables, spacing, unused variables even). What's your take on automated tools? (Disclaimer: my company built one - pulreview.com).