Se não está quebrado, não conserte. Certeza?

Fala, galera!

Li há alguns dias o capítulo 5 do livro do Uncle Bob Agile Principles, Patterns and Practices in C# e resolvi, neste pequeno post, compartilhar com vocês 2 parágrafos do início do capítulo. São coisas nas quais eu acredito demais. Aliás, muitas vezes que leio algo do Uncle Bob, acabo pensando “meu herói!!!!” 🙂

Abaixo, segue a tradução, com pequenas adaptações:

“Cada módulo de um software tem 3 funções:

1) A função que ele desempenha durante a execução. Esta função é a razão de existência do módulo.

2) Proporcionar mudança. Quase todos os módulos de um software mudarão em algum momento de seu tempo de vida e é responsabilidade dos desenvolvedores garantir que tais mudanças sejam as mais simples possíveis de se fazer. Um módulo difícil de mudar está quebrado e precisa de conserto, mesmo que esteja funcionando.

3) Comunicar. Desenvolvedores que não estejam familiarizados com o módulo devem ser capazes de lê-lo e compreendê-lo sem maiores complicações (sem “se matar”). Um módulo que não comunica sua intenção está quebrado e precisa de conserto.

O que torna um módulo fácil de ler e fácil de mudar? Muito deste livro é dedicado a princípios e padrões cuja meta principal é ajudar a criar módulos flexíveis e adaptáveis.  Mas é preciso algo mais do que apenas princípios e padrões para criar um módulo que seja fácil de ler e de mudar. É preciso atenção. É preciso disciplina. É preciso uma paixão para criar beleza.

Alguns comentários da minha parte:

O autor reforça que “fazer funcionar” não é o suficiente. Porque isto não garante que o software seja sustentável. Precisamos criar código pensando no amanhã, pensando que precisaremos mais cedo ou mais tarde alterá-lo, pensando que outros desenvolvedores terão que entendê-lo (e até mesmo você, daqui uns meses).

Ele diz que não basta princípios e padrões (conhecimento). É preciso atenção. É preciso disciplina. São coisas que eu sempre gosto de dizer e com as quais eu me identifico totalmente. Software é como um filho que precisa de cuidados. Se você não cuidar, ele adoece (e rápido).

Ele conclui com “É preciso uma paixão para criar beleza”. Isso demonstra para mim que ele quer fazer o melhor. Quer escrever algo que sinta orgulho de dizer que foi ele que fez.

Isso tudo, caros amigos, não é utopia. Uncle Bob não é um ET. É só um cara que ama o que faz.

Pensem nisso.

Até a próxima!

Anúncios

11 comentários em “Se não está quebrado, não conserte. Certeza?

  1. É tiozão, fazer funcionar não é garantia nenhuma que o software é sustentável. Está cheio de software por ai que “funciona” e na hora que o negócio altera é que a gente descobre a falta de qualidade interna.

      1. É isso ai anonimo, depois quando da merda no projeto vc geralmente aranja outro emprego mesmo né.
        Esse povo que entro na area pq acha que da dinheiro me deixa puto.

    1. E infelizmente a situação não mudará tão cedo. A área ainda tem muito a amadurecer. Quem já começou a trilhar o caminho “certo” (do profissionalismo) está em vantagem.
      []s

    1. Se as pessoas não estão dispostas a pagar o preço exigido de um software ou hardware autenticos, não poderão chorar depois. É como se estivéssemos em uma bifurcação e perguntarmos que caminho iremos seguir? Na verdade não importa muito o caminho se não sabemos onde queremos chegar.
      Um bom dia a todos.
      Paulo Baptista

  2. E exatamente o que eu penso e tento praticar à cada dia. Infelizmente é quase nadar contra a corrente o que infelizmente mais vejo em nossa área são pessoas mais preocupadas em entregar rápido, para cumprir prazos irreais e sem nenhuma qualidade. E o pior de tudo são essas mesmas pessoas que tem o discurso da qualidade, mas quando vem a pressão são os primeiros a sucumbir.

    1. Leandro,
      É como eu sempre digo: nossa área ainda é amadora. Não tratamos com a devida seriedade e profissionalismo o nosso trabalho.
      Mas vejo que várias empresas (minoria ainda) já perceberam isso (com os erros do passado) e estão levando a sério. Azar daquelas e daqueles profi”Ç”ionais que não se ligaram ainda.
      []s e obrigado por comentar!

Participe! Vamos trocar uma ideia sobre desenvolvimento de software!

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s