Disclaimer : Não é tão exagerado como o título sugere, mas ainda me deixa desconfortável. Eu só vou expressar honestamente, então leve com um grão de sal. Apenas finja que estou falando sobre esse padrão de codificação com o qual você não gosta de trabalhar.
Edit : O fato de eu não gostar, não significa que não o uso ou imponho.
Decidi fazer esta pergunta com o espírito de como superar um padrão que você não gosta, para não obter ajuda sobre como argumentar melhor como ele pode ser alterado (embora sejam apreciados quaisquer comentários sobre esta última parte). Além disso, trabalho em uma grande empresa e é improvável uma mudança de algo que vive há tanto tempo e que importa tão pouco.
O padrão é o padrão de abertura-cacheado-cinta-em-linha dedicada:
somefunction()
{
//...
}
Em vez do * claramente superior * (observe o tom de brincadeira / frustração):
somefunction() {
//...
}
Meus argumentos pessoais contra o padrão:
- Incha código : linhas desnecessárias extras
- Mais difícil de digitar : embora provavelmente seja apenas eu lutando com o padrão, sei que um pressionamento de tecla extra não é tão ruim assim.
- Não é mais fácil de ler : começo a ler uma declaração de função, se instrução, ou qualquer outra instrução de empilhamento de escopo e já não preciso procurar uma chave de abertura. Blocos aninhados com esse padrão me deixam com raiva por algum motivo.
- Usado por pessoas que têm experiência com o Microsoft IDE : acho que deveria haver uma razão argumentada (ou mais) por trás de um padrão, e não apenas adotá-lo por paradigma.
Seus argumentos (e minha maneira de responder internamente a eles):
- Mais fácil de ler, porque você pode ver onde os blocos começam e terminam imediatamente : não consigo entender isso, de que serve o bloco se você não sabe do que ele pertence, então você deve ler ao contrário.
- Eu usei em um IDE da Microsoft e gostei : Uhh ... ok?
- Está no padrão : * encolhe *
Eu sou o único que luta com uma posição opinativa contra um padrão específico ?, como você superou isso ?, qual é a sua opinião sobre qual deveria ser esse padrão em particular (apenas por diversão)?
Used by people who come from a Microsoft IDE background
Não é coisa da Microsoft, por exemplo, o Linux Kernel e o K&R usam o mesmo estilo.