Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Being a freelancer, I don't have access to corporate training programs where employees learn best practices. Most of the time I am advised to look into the available code on the Internet. Ideal places would be: CodePlex and SourceForge.

But this proves to be of limited rather very little help. I want my existing code to be analyzed and a better solution be suggested to improve the quality of the code.

How to learn coding that matches standards?

share|improve this question
    
Do you mean coding standards (as in where to put your curly braces), or software patterns and practices? –  Robert Harvey Oct 25 '10 at 20:14
    
The fact that you're worried about resolving this problem is already a huge advantage. IMO, if you combine an obsession with DRY code, testable code, architectural patterns, and read lots on SO, you'll be a long way towards your goal of learning "industry standards." –  Yar Oct 25 '10 at 21:05
1  
As a full-time corporate employee, I don't have access to corporate training programs where employees learn best practices either! I think you overestimate the quality and standards of most corporate development. –  Carson63000 Oct 25 '10 at 22:38
    
I spent a few years as Java trainer for a prestigious tools vendor at the beginning of the century ;). I got inside the development departments at many big and small companies and got to sit down with the devs and... @Carson63000 is right. Books and the Internet can teach you all you need to know about standards. Corporate training is MOSTLY about getting the time off to study. –  Yar Oct 26 '10 at 1:18
    
@Robert: I didn't mean that. When I compare my code with many open-source scripts, I am disappointed. I feel I am years behind even after programming so much. The reason behind this is that I had no access to someone who can directly answer my query. Forums can give only a limited help. You can't just write it down always. –  RPK Oct 26 '10 at 5:23
add comment

4 Answers

up vote 6 down vote accepted

The ideal solution is near you. There is a website called stackoverflow.com where thousand of fanatic developers are answering questions for free. Just for what is called reputation points. That website is full of extremely experienced professionnals and it's not very common to meet people like Jon Skeet the author of C# In Depth.

Your strategy? Try to answer to questions you know the answer, but also consult questions you may be interested in, such as the ones that talk about industry standards.

It is becoming so huge, that now I skip google, and search directly on stackoverflow.com.

share|improve this answer
1  
+1 for the direct search, Me too does that now –  Vimal Raj Oct 25 '10 at 18:05
    
Ditto - I think the people at Expertsexchange.com grind their teeth about it. –  Todd Williamson Oct 25 '10 at 18:14
    
@Todd: Expertsexchange.com? Resolves to a holding page? @Pierre: SO was my first thought when I saw this! –  Chris Oct 25 '10 at 18:34
    
Meh. StackOverflow is not a good place for looking for "industry-standard" coding practices, if there is such a thing. You're better off picking up a good "Patterns & Practices" book, or studying a code standards document from the many that are available on the web for every language. –  Robert Harvey Oct 25 '10 at 18:42
3  
@Chris - My bad - they changed it to <experts-exchange.com/>;. I guess they got sick of the jokes about how the old domain name could be mis-read. –  Todd Williamson Oct 25 '10 at 18:43
show 10 more comments

If you are doing development in .NET you can get inexpensive or free static analysis of your code with a tool like FxCop (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=917023f6-d5b7-41bb-bbc0-411a7d66cf3c&displaylang=en). This does not cover best practices for the PROCESS of creating software but it does cover a lot of things that tend to wind up in best practices documents.

You did say "I want my existing code to be analyzed and a better solution be suggested to improve the quality of the code." so I think that FxCop would be a good place to start IF you are doing .NET development. I would imagine that there are similar static analysis tools for Java or other environments.

Good luck!

share|improve this answer
    
The real problem I find is that I am unable to decide the right feature for a situation. –  RPK Oct 26 '10 at 5:29
    
Ah - that's something else, then. That is one of those very subjective areas about how to solve a particular problem. I doubt that large-company training programs will provide that sort of heuristic training. The best you could hope for would be some sort of a primer on patterns, but even then there is usually more than one way to skin a cat. –  Todd Williamson Oct 26 '10 at 13:23
add comment

For C# code as well as FxCop (as mentioned by Todd) there's StyleCop.

StyleCop analyzes C# source code to enforce a set of style and consistency rules. It can be run from inside of Visual Studio or integrated into an MSBuild project.

It checks for different, complementary, things and can be useful.

Though, as for FxCop, don't run all your code through it in one go. The "errors" will overwhelm you.

share|improve this answer
add comment

Check out the relevant open-source projects in your programming language of choice and domain in places like github, sf.net etc

Actively participate in working with other developers in open-source, subscribe yourself to mailing lists, read the latest ideas in IBM Developeworks, ACM Queue and Dr Dobbs... Best of luck!

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.