Estamos sendo forçados a usar a programação espartana em um projeto, para desgosto de todos. Então, entendo, ele torna os métodos muito curtos e lida com os casos simples primeiro. Mas será que realmente vale o preço do código parecido com algo do concurso Ofuscado C Code?
Você pode ver isso sendo útil para alguma coisa?
programming-practices
methodology
EpsilonVector
fonte
fonte
Respostas:
Muitos dos inquilinos da programação espartana me parecem boas práticas. Por exemplo, mantendo os métodos curtos, minimizando o escopo das variáveis, minimizando o número de parâmetros para um método ou métodos para uma classe etc. Essas são todas as coisas boas e exatamente o que você deve procurar.
Mas existem coisas como minimizar a contagem de caracteres , minimizar a contagem de tokens , ternarização (sério?), Etc. , que realmente não fazem sentido.
Penso que o meu principal problema é exemplificado por esta citação :
Qualquer coisa "levada ao extremo" soa para mim.
fonte
Agora isso parecia perturbadoramente familiar. Até a minimização dos tokens, embora não seja levada ao extremo. Prefiro usar fname do que filename, por exemplo, para saída, x para a entrada de dados, n para contagens, l para comprimentos e assim por diante. lx seria comprimento de x, ly comprimento de y, ... você entendeu.
Além disso, como muitas vezes manipulo grandes conjuntos de dados em aplicativos científicos, uso muito os recursos de índice em R. Quando escrevo todos esses índices, o código fere meus olhos. Então, o índice se torna id, ou mesmo apenas i.
Ainda mais, as estruturas de loop específicas em R (a família apply) geralmente exigem declaração de função na chamada apply. Nesses casos, eu sempre uso x, y, z, ... Essas funções costumam ser uma ou duas linhas, portanto fica claro de onde vem e não atrapalha a tela.
Não é uma coisa ruim, desde que você tenha algumas convenções de nomenclatura coerentes com o código completo e forneça comentários para explicar os nomes de variáveis mais obscuros. No final, torna o código mais legível para mim do que um longo trem de camelos mancando pela tela.
fonte
Aqui está um artigo que discute os benefícios da programação espartana
http://ssdl-wiki.cs.technion.ac.il/wiki/index.php/SendAnEmail_case_study
fonte
Essa é uma compactação de acentuação dos Cs.
Ninguém se importa com o seu código, se não estiver correto.
Se o seu código não está completa (lida com todos os casos), então não são bugs.
Se não for compacto, você estará desperdiçando ciclos de memória ou de clock (otimizações do compilador de lado)
Observe que a ordem aqui é primordial. O programa mais compacto raramente está correto. POR EXEMPLO
fonte
void main(){return 1;}
Uau, na verdade eu programava assim, não sabia que tinha um nome. Eu diria que isso beneficia a legibilidade, mas mais de uma maneira espacial ... o que significa que você não se perde em uma sopa de código, mesmo que tenha poucas linhas difíceis de ler.
No entanto, eu diria que, quando você se acostuma a certas construções, encontra o caminho mais fácil em menos tempo do que no início.
fonte