On Sat, 12 Apr 2014, John Ferrell wrote: > On 4/8/2014 12:45 PM, Vicent Colomar Prats wrote: >> I do not agree with this. IMMO, a program must FIRST be written to do th= e >> job it was meant to do. All other questions are secondary or terciary. >> Readability/understandability of a source code is very important, but th= is >> is at a level downstairs the very first and most important: the >> executable/firmware has to acomplish all of its goals. That's what the >> customer wants and that's what you must acomplish. > > Non-negotionable condition: > If a program is non-maintainable it is rejected. > Sorry John I tend to agree with Vicent. Is the goal to write a piece of software that performs a specific well=20 defined task or something that will evolve to perform other yet to be=20 defined tasks? Are you making the customer pay for a specific project or=20 for something that can be adapted in the future for use by another=20 customer? Is the goal to produce a simple IR remote control or to produce a weather=20 forcasting system? Do you really need to use a 1GHz Cortex A8 or will a=20 simple 8MHz 16F88 do the job. I concead that some projects need the participation of large numbers of=20 programmers and it is vital that they be able to understand each others=20 code but in such circumstances the goal changes to accomodate this need. I get really irritated when I see some individuals writing huge complex=20 systems with complicated protocols for passing information around what is=20 otherwise a simple program just so they can postpone actually making a=20 decision; systems that end up being so complicated that a simple change=20 takes forever and leads to unforseen bugs. Code should be maintainable but within limits - firstly the code should do= =20 what it is supposed to. If it meets this criterion why does it need to be=20 maintained? Friendly Regards Sergio Masci --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .