Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: On Coding Standards and Code Reviews

by dHarry (Abbot)
on Feb 19, 2009 at 10:09 UTC ( #744998=note: print w/ replies, xml ) Need Help??


in reply to On Coding Standards and Code Reviews

I thank you for the effort and up-voted you accordingly! I do have some remarks though.

Most of the general guidelines are too general to be of any use. How are you going to address them? What do you need to do when, and how are you going verify they have been met?

Take for example Robustness, how to address that?

What I miss is the Software Development Life Cycle, the process. You need to make the abstract statements tangible and embed them in a process. In my experience this is the only way to make it work, especially when projects get bigger and/or the SW has a zero fault tolerance architecture. i.e. SW for a nuclear plant, medical applications etc.

Also where does architecture comes in? What I mean is the general guidelines may conflict with each other. Then you will have to determine what is more important, likely on a per project basis. I like to view things like Robustness, Efficiency, Maintainability, Scalability, etc as “Quality Attributes” in the architecture and give them weights depending on their importance (depending on the specific project). With a simple excel sheet you can make a more founded decision on what to focus on. There are always restrictions (budget, time,...) and chances are you can’t do all things in your list. Focusing on the important ones and doing them good makes more sense then doing all of them but half.

I've been asked to prepare some guidelines on coding standards and code reviews

Coding Standards and Code reviews are typically instruments of the (much) wider area of Software Quality Assurance. The code reviews they fall in the SQA activity category SW verification/validation.

I don’t know the size of your company but I assume it must have at least one QA guy, maybe even a full-blown QA department. In any case QA people need to be involved in these type of activities.

HTH


Comment on Re: On Coding Standards and Code Reviews
Re^2: On Coding Standards and Code Reviews
by eyepopslikeamosquito (Canon) on Feb 19, 2009 at 11:19 UTC

    Thanks for the feedback. This is the sort of feedback I was hoping for, so I can be prepared before I meet with our QA guy. :-) To answer your question, we have one QA guy and I'll need to refine these notes before I meet with him. As you might expect, he's more interested in process than I am, his primary concerns being things like "how should we enforce the coding standard?". In the past, we've sorta had coding standards (actually, too many of them) and informal code reviews, but they've never been enforced consistently across the organisation, especially when deadlines are tight.

      One way to enforce code quality and integrity in the process is to choose a process model that can facilitate it. Agile methods are good at it. Especially I would recommend looking at Scrum and pay attention to the Definition of Done.

      A self guiding process is the best tool to get teams happy, efficient and committed. This includes code quality and standards. I would not dictate them except on a very high level (setting some thresholds). IMO the tools do not matter that much, the result is what I would be interested in. And a good process that includes tools for correcting bad ways of working is priceless.

      --
      seek $her, $from, $everywhere if exists $true{love};

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://744998]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2014-12-25 06:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (159 votes), past polls