Paradigma de programação com fortes restrições OO
Pergunta
Ei.Lembro-me de ter lido em algum lugar sobre um paradigma de programação que tem restrições muito rígidas sobre OO.Ele proíbe ifs e elses aninhados inteiramente, evita funções no namespace global não associado a uma classe e coisas assim.É supostamente muito famoso.Alguém sabe como é chamado?Obrigado.
Vou dar um exemplo.Este não deveria ser um paradigma totalmente sério - são apenas restrições pesadas para melhorar seu "estilo OO".Por exemplo, em um programa FizzBuzz, você criará um objeto que herda de um número inteiro e possui um método 'representMyself' e um objeto 'FizzBuzzNumbersRange' que contém uma matriz de números FizzBuzz com um método 'representAll' ou algo assim.etc.etc.
Solução
Acho que você está se referindo a Calistenia de objetos que possuem as seguintes regras:
- Use um nível de indentação por método
- Não use a palavra-chave else
- Envolva todas as primitivas e strings
- Use apenas um ponto por linha
- Não abrevie
- Mantenha todas as entidades pequenas
- Não use nenhuma classe com mais de duas variáveis de instância
- Use coleções de primeira classe
- Não use getters, setters ou Propriedades