Hacker News new | ask | show | jobs
by dazbradbury 5248 days ago
You may want to look at some static code analysis tools for 1 and 2:

http://en.wikipedia.org/wiki/List_of_tools_for_static_code_a...

From my very limited understanding, the powerful ones are seemingly only in reach for large enterprises [1].

With regard to number 3, In C# and Java, resharper/IntelliJ has partially automated refactoring tools. I'm sure similar tools exist for other languages.

However, I think going down this route is substantially more work unless you are inheriting a code base. I would aim to learn some of the design patterns basics[2], perhaps read "The Algorithm Design Manual" [3], and aim to have a clear idea of how to design your latest algorithm from the offset.

[1] - http://semmle.com/solutions/what-we-do/index.html

[2] - http://en.wikipedia.org/wiki/Design_Patterns

[3] - http://www.amazon.co.uk/Algorithm-Design-Manual-Steven-Skien...