Fui solicitado a escrever esse conceito com um problema que encontrei várias vezes ao chegar a um novo projeto: durante 5 anos de desenvolvimento comercial, eu sempre tive a “sorte” de vir a um projeto que o desenvolvedor principal está deixando. E cada vez que herdei uma enorme base de código - as leis de sua operação foram entendidas apenas por seu criador. Eu, por sua vez, já após o primeiro ano, adquiri o hábito de desenvolvimento através do design e design através de comentários. O que eu quero compartilhar com você abaixo do corte:
Paradigma de desenvolvimento através de comentários
Idéia: projetando através de comentários. Código
- Idéia
O iniciador da ideia pode ser você ou outra pessoa - por exemplo, seu PM (TimLead).
exemplo de uma ideia: "Você precisa limpar o número de telefone de caracteres como '+, -, colchetes e espaços', para que a saída seja apenas um conjunto de números. É necessário um recurso para implementar uma pesquisa por número de telefone - digitado de qualquer maneira."
- Design através de comentários
Escrever comentários descrevendo a lógica do programa.
exemplo de design por meio de comentários:
Spoiler<?php namespace App\Services; use App\Entity\Users; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManager; class PhoneService {
- Escrita de código
Agora precisamos converter nossa projeção de comentários em código:
exemplo:
Spoiler <?php namespace App\Services; use App\Entity\Users; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManager; class PhoneService {
Para que serve?
Por que preciso de comentários, código e para que fique claro?
Muitos dirão que o código é o texto - e é fácil de ler. E terei de mencionar que o código é um método de expressar seus pensamentos através da sintaxe do idioma que você usa. E quando escrevemos lógica complexa - usamos a nossa própria, de muitas maneiras, um estilo único de usar essa sintaxe. Porém, se estivermos no estágio de design - descreveremos nossa lógica em uma linguagem geralmente aceita; em seguida, retornando ao código após três anos, entenderemos como ela funciona e nosso código. O herdeiro, da mesma maneira que indolor, é capaz de descobrir. Usar o design por meio de comentários - reduz a entropia do seu projeto e torna o código mais bonito.
Por que preciso de design, posso me sentar e escrever tudo de uma vez?
Se você está fazendo esta pergunta, basta ler com urgência o " Código Perfeito ", de Steve McConnell . Lá, esse conceito é mais do que divulgado.
Vou dar uma pequena citação:
No estágio de design do código, 75% dos erros são geralmente encontrados. Se eles não fossem encontrados, eu teria que refatorar.
De fato, no estágio de design, você pode entender que a lógica de negócios concebida não funcionará conforme o planejado ou pode ver uma abordagem melhor para resolver um problema específico. E você não precisará voltar mais tarde e refatorar uma parte da lógica - que não funciona exatamente como pretendido.
Preciso comentar sobre tudo?
Dei exemplos elementares acima. Eles são totalmente compreensíveis e sem comentários, mas eu ainda usei a abordagem do IC-DC para implementá-los. Porque Não quero que meu código cresça entropia. Visitei muitos projetos em que a maioria dos projetos teve que ser reescrita do zero, precisamente por causa da enorme entropia neles. Pense se você deseja que o projeto que passou meses ou anos da sua vida seja simplesmente apagado. Se a resposta for não, acho que vale a pena usar essa abordagem sempre. Porque se você sair do projeto ou, alguns anos depois, aparecer uma nova tecnologia que possa atender melhor às necessidades do que sua solução antiga - o IC-DC o ajudará a implementar as mudanças da melhor maneira possível, atingindo o mínimo de funcionalidade, porque um novo funcionário ou um novo entenderá como e por que funciona.