Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Why Create Coding Standards and Perform Code Reviews?

by eyepopslikeamosquito (Canon)
on Jul 04, 2009 at 00:32 UTC ( #777143=note: print w/ replies, xml ) Need Help??


in reply to Re: Why Create Coding Standards and Perform Code Reviews?
in thread Why Create Coding Standards and Perform Code Reviews?

I don't understand your argument though. What have first principles to do with coding, or coding standards?
Someone like Damian Conway has derived each of his 256 best practices in PBP "from first principles". In the interests of development speed, I don't want each member of my team to similarly repeat his research and analysis.

Regarding development speed, the places where a good coding standard has the potential to help is in areas (often "cross-cutting concerns") that are common to many projects. For example:

  • Should I use C++ boost shared pointer or write my own "from first principles"?
  • Error handling.
  • Logging.
  • Tracing.
  • Debugging.
  • Memory management.
  • Concurrency and locking.
  • Thread-safety and reentrancy.
  • Exception-safety.
  • Portability. I need a cross-platform mutex. How well do C++ templates work on HP-UX? I need file locking or threading that works on both Unix and Windows.
  • Libraries. For C++, should I use boost or write my own?
  • Documentation. Should I document my C++ code with doxygen or something else? PBP 7.2: "Create standard POD templates for modules and applications".
  • Naming.
  • Internationalization and Localization.
  • Which of these three similar CPAN modules should I use?
  • Unit testing. Should I use CppUnit or CxxTest or write my own unit test framework?
  • Code review checklists.
  • Build and release engineering. e.g. revision control, makefiles, ...
  • How do I make a customer patch?


Comment on Re^2: Why Create Coding Standards and Perform Code Reviews?
Re^3: Why Create Coding Standards and Perform Code Reviews?
by JavaFan (Canon) on Jul 04, 2009 at 00:51 UTC
    In the interests of development speed, I don't want each member of my team to similarly repeat his research and analysis.

    I'd expect of my team members to have encountered such situations many times in the past, and have done the research and analysis long before being hired. For junior programmers, I expect them to do the research once they encounter a situation for the first time, and remember them. It's called experience.

    Now, there maybe situations that require different solutions for different projects. But you cannot both follow a company wide coding standard, and use a different solution each time.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (11)
As of 2014-10-22 13:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (118 votes), past polls