http://dotmac.rationalmind.net/2010/08/some-lesser-known-truths-about-programming/

============================

My experience as a programmer  has taught me a few things about writing
software. Here are some things that people might find surprising about
writing code:

   - A programmer spends about 10-20% of his time writing code, and most
   programmers write about 10-12 lines of code per
day<http://stackoverflow.com/questions/966800/mythical-man-month-10-lines-per-developer-day-how-close-on-large-projects>that
goes into the final product, regardless of their skill level. Good
   programmers spend much of the other 90% thinking, researching, and
   experimenting to find the best design. Bad programmers spend much of that
   90% debugging code by randomly making changes and seeing if they work.
   “A great lathe operator commands several times the wage of an average
   lathe operator, but a great writer of software code is worth 10,000 times
   the price of an average software writer.” –Bill Gates
   - A good programmer is ten times more productive than an average
   programmer. A great programmer is 20-100 times more productive than the
   average. This is not an
exaggeration<http://www.devtopics.com/programmer-productivity-the-tenfinity-factor/>–
studies since the 1960′s have consistently shown this. A bad
programmer is
   not just unproductive – he will not only not get any work done, but create a
   lot of work and headaches for others to fix.
   - Great programmers spend very little of their time writing code – at
   least code that ends up in the final product. Programmers who spend much of
   their time writing code are too lazy, too ignorant, or too arrogant to find
   existing solutions to old problems. Great programmers are masters at
   recognizing and reusing common patterns. Good programmers are not afraid to
   refactor (rewrite) their code constantly to reach the ideal design. Bad
   programmers write code which lacks conceptual integrity, non-redundancy,
   hierarchy, and patterns, and so is very difficult to refactor. It’s easier
   to throw away bad code and start over than to change it.
   - Software obeys the laws of entropy, like everything else. Continuous
   change leads to software rot, which erodes the conceptual integrity of the
   original design. Software rot is unavoidable, but programmers who fail to
   take conceptual integrity into consideration create software that rots so so
   fast that it becomes worthless before it is even completed. Entropic failure
   of conceptual integrity is probably the most common reason for software
   project failure. (The second most common reason is delivering something
   other than what the customer wanted.) Software rot slows down progress
   exponentially, so many projects face exploding timelines and budgets before
   they are killed.
   - A 2004 study found
that<http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standish>most
software projects (51%) will fail in a critical aspect, and 15% will
   fail totally. This is an improvement since 1994, when 31% failed.
   - Although most software is made by teams, it is not a democratic
   activity. Usually, just one person is responsible for the design, and the
   rest of the team fills in the details.
   - Programming is hard work. It’s an intense mental activity. Good
   programmers think about their work 24/7. They write their most important
   code in the shower and in their dreams. Because the most important work is
   done away from a keyboard, software projects cannot be accelerated by
   spending more time in the office or adding more people to a
project<http://en.wikipedia.org/wiki/Brooks%27s_law>
   .

============================

-- 
Atenciosamente,
Alexsander da Rosa
Linux User #113925

"Extremismo na defesa da liberdade não é defeito.
Moderação na busca por justiça não é virtude."
-- Barry Goldwater
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a