
04-01-2011, 10:04 PM
|
Approved Member
|
|
Join Date: Jun 2010
Posts: 544
|
|
Quote:
Originally Posted by Blue Scorpion
Programmers are responsible for optimising their own code as far as is possible and practicable based on the companies rules of coding practice, and design documents.
You then produce debug builds with built in profiling code, this tracks resource allocation, number of calls to those areas requiring the greatest processing power, data that can never be accessed due to logic errors and so on, giving hints to any potential bottlenecks. Any potential problems are then passed back to the team who were responsible for that area of code, and they in turn look at ways of improving it.
This is an iterative process, and code may go back and forth many times on complex projects while the code is optimised and bug fixed and additional features added or expanded.
Unfortunately, as is usually the case, bug fixes, and new functions change code behaviour in ways that can never have been foreseen. Due partly to the way a compiler organises data allocation and optimizes code internally during compilation; but more likely, to the left hand not fully understanding how the right hand went about achieving a particular solution. This in turn, often forces another look at code to remove these bottlenecks, sometimes requiring an investigation of the problem at machine code level.
Eventually, you reach a point where performance is acceptable or within design limits, at which point the process generally stops; until new additions or updates change the code again requiring a fresh look at the problem.
Coding, is coding, is coding, all programmers working for well organised software houses produce their code in line with design documents laid out during an earlier phase of development, if any such problems are going to occur it is during the design phase not during coding . Good coding practice also demands that programmers comment their code anywhere there may be ambiguity or complex algorithms so that new or reallocated staff can quickly establish an understanding of the code at hand.
|
Sounds like someone know a little about programming...
__________________
“Violent, irrational, intolerant, allied to racism and tribalism and bigotry, invested in ignorance and hostile to free inquiry, contemptuous of women and coercive toward children: organized religion ought to have a great deal on its conscience.”
― Christopher Hitchens
|