Bay no livro, The ThoughWorks Anthology com objetivo de melhorar a qualidade de código. Object Calisthenics reforça princípios de SOLID e Design Patterns (E. Gamma) baseado em 9 regras. 1 - Um nível de indentação por método. 2 - Não utilize ELSE. 3 - Encapsule tipos primitivos e String em classes* 4 - First class collections. 5 - Um ponto (de referência) por linha. 6 - Não use abreviações.** 7 - Mantenha classes até 50 linhas. 8 - Classes com menos de duas variáveis de instâncias. 9 - Não utilize Getters and Setters. * No item 3, Jeff Bay sugere que somente os tipos primitivos e Strings que tenham algum comportamento devem ser encapsulados. ** A comunidade Go tem suas próprias regras de nomeação de variável e em alguns casos é aconselhado a abreviação (compreensão contextual) mas lembre-se: é um princípio, não uma regra.
serem pertinentes na maioria das linguagens é válido lembrar que o as 9 regras de OC foram criadas para resolver problemas comuns no mundo de desenvolvimento de software em Java. Adaptações são necessárias.
na comunidade Go termos alguns princípios para nomenclatura de variáveis, meu conselho é seguir o capítulo dois do livro Clean Code, Meaningful Names (R. C. Martin).
linhas. Apesar de não existir classes em Go, podemos adaptar para structs/interfaces. Uma forma de reduzir o risco de termos structs muito grandes é reduzir seu escopo de funcionalidade.