sexta-feira, 2 de novembro de 2007

Qualidade do código-fonte

Uma função implementada errada sob um código-fonte bom tem exatamente o mesmo valor da mesma função implementada sob um código ruim. Da mesma (e exata forma) uma função correta (que está conforme com a especificação que a definiu) sob um código ruim tem exatamente o mesmo comportamento se implementada com código bom, ou seja, funciona em ambos os casos.
Por outro lado, nenhum desenvolvedor de software estará suficientemente satisfeito com a qualidade da implementação que ele define em um código-fonte.

A qualidade do processo afeta diretamente a qualidade do produto (como o bom Deming já definiu um dia) mas ... a discussão é quanto a qualidade da implementação (código-fonte) afetará o resultado do software (que é definido por um arquivo binário, um executável, uma biblioteca e assim por diante).

Há empresas que protegem os documentos de projeto (design) a "7 chaves" (o que sugere que, para eles, no projeto de definição daquele software está embutido o valor daquele produto) e, em contraponto, a comunidade open-source entende que o código-fonte é a documentação mais importante de um software: Aqui está embutida uma idéia de que o software, por exemplo, não precisa ser versionado porque ele estará na versão "beta" para sempre (e isso sugere que nunca há o que entregar definitivamente porque ... nenhuma versão é definitiva).

Por mais que se simplifique a forma de definir o software nunca será possível caracterizar como produto o que nunca se entrega. Mesmo o criticado "modelo Microsoft" embute nele questões amplamente consagradas pela dita "indústria tradicional": preço, entrega, lucro, contrato de licença de usuário, suporte e garantia.

Abstraindo-se o aspecto "romântico" (e, às vezes, utópico) das novas tecnologias seria saudável que as novas perspectivas sejam mais analisadas não sob o ponto de vista de quem fornece (a exemplo das iniciativas da IBM com o Linux e a comunidade open-source) mas sob o uso e, aí sim, ouvindo mais o lado de quem tem comprado, usado e, claro, tem tido que se relacionar com as entidades de quem adquiriram tais produtos.

Que tanto a indústria como o "mercado" tenham de estar suscetíveis às novas demandas de inovação e tecnologia, o fato é inegável, mas mudar o paradigma sem o sustentáculo da análise de um contexto mais abrangente que mitigue riscos, gastos e prejuízos não passa de irresponsabilidade.

http://www.artima.com/weblogs/viewpost.jsp?thread=96154

Nenhum comentário:

Uma ferramenta é só (e não passa de) uma ferramenta.

"Nenhum veículo é mais importante do que a carga que ele carrega." (Thomas Davenport)