Cada padrão é uma regra de três partes, que expressa uma relação entre um certo contexto, um problema e uma solução.
Existem três categorias que classificam os padrões durante o desenvolvimento de um software.
Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Adapter, Bridge, Composite, Decorator, Façade, Business Delegate, Flyweight e Proxy.
Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
Para manter a saúde e a sanidade de um projeto, existem três pilares primordiais que devem ser considerados: organização, padronização e consistência.
Consistência de estilos entre projetos entre editores.
Configurável e extensível, o linter é uma evolução de um utilitário do Unix que examinava códigos em C à procura de erros.
Formatador opinativo, impõe uma estilização consistente.
foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());
foo(
reallyLongArg(),
omgSoManyParameters(),
IShouldRefactorThis(),
isThereSeriouslyAnotherOne()
);
Mas essa já é a palestra do Ronaldo...