Como garantir a qualidade do código? [fechadas]

4

Eu tenho aprendido programação em C # por cerca de um ano e meio agora. Como devo garantir que o código que estou escrevendo e os hábitos estão formando são bons?
ie. Eu não quero acabar tendo um código escrito que só eu possa entender.

Eu sei que devemos usar as convenções de nomenclatura conforme a linguagem. Mas há outras diretrizes concretas que devo ter em mente?

Quaisquer regras que várias empresas aplicam em seus programadores ao escrever o código? Quaisquer padrões de documentação?

Qualquer livro / site também seria útil.

    
por Qyuubi 14.02.2011 / 19:56
fonte

7 respostas

11

É um tomo, mas acredito firmemente que as informações em Código Completo 2 são essenciais para todos os desenvolvedores saber. Leia a coisa toda. Cobre os detalhes do processo de codificação em grande detalhe. Tudo a partir de quando para quebrar funções, para princípios de bom design OO para como nomear variáveis. C # não está entre os idiomas em que os exemplos estão, mas isso não importa, vale a pena, independentemente disso.

Além disso, verifique se você está usando práticas recomendadas padrão. Você tem testes de unidade? Você consegue que as pessoas revisem seu código e forneçam feedback? Você está tentando se manter atualizado com as tecnologias que usa? De vez em quando, leia o código antigo e reflita sobre o que funcionou e por quê.

    
por 14.02.2011 / 20:08
fonte
7
  • Não pare de codificar uma vez que o código funcione. Muitos desenvolvedores sentem que seu trabalho para de fazer algo acontecer. Nós poderíamos fazer isso de volta na escola sem muita experiência. A verdadeira habilidade é tornar o código de trabalho limpo.
por 14.02.2011 / 20:15
fonte
2

Para o C # você pode querer verificar o link - uma ferramenta que pode ensinar algumas coisas sobre o idioma.

    
por 14.02.2011 / 19:59
fonte
2

Apenas alguns pontos aqui:

  • Considere ler as Diretrizes para o design de estrutura . Eu acho que é um livro de leitura obrigatória com a coleção de padrões "do" e "não" no mundo .NET.

  • Compartilhe seu código. Pode soar um pouco trivial, mas quanto mais revisão de código, programação em pares, etc., você terá mais feedback do que você receberá.

  • Escreva testes. Eles não apenas ajudarão a detectar alguns erros na implementação, mas seus testes serão a primeira coisa que usará seu código.

por 14.02.2011 / 20:13
fonte
1

Algumas ideias a considerar:

Revisões de código. Você tem alguém que possa tentar entender o código e dar sugestões sobre como melhorar o que você tem? Isso também estaria na categoria de encontrar um mentor para ajudar a desenvolver suas habilidades, o que provavelmente faria muito sentido como a primeira idéia a ser transmitida. Você também pode ver a programação em pares para outra ideia aqui, em que um segundo par de olhos analisa o que você escreve.

Testes unitários. Você tem alguns testes para o seu código e como isso explica como o seu código lida com casos de fronteira? Os testes parecem documentação razoável quando se trata de declarar a funcionalidade desejada? Apenas algumas perguntas para refletir enquanto você coloca isso com o resto do seu código.

Integração Contínua. Se isso for mais para um caso de equipe, essa é outra prática que pode ser útil para manter a qualidade do código.

Padrões e & Práticas seria um site que pode ajudar, embora eu imagine que provavelmente há alguns outros que também podem ajudar. Blogues do Construx e Os ThoughtBlogs também podem ser úteis se você quiser alguns links.

    
por 14.02.2011 / 20:09
fonte
0

As diretrizes de design da estrutura da Microsoft ficam na minha mesa o tempo todo. Muito do material é intuitivo para os profissionais que usam regularmente os objetos da estrutura. Ainda assim, é uma ótima leitura para saber em profundidade por que certas decisões foram tomadas, quem estava envolvido e não há nada como mostrar a outro desenvolvedor algumas diretrizes escritas para tomar uma decisão.

    
por 14.02.2011 / 20:13
fonte
0

Se você está no mundo C #, então as duas ferramentas que eu recomendo são:

Os dois fazem coisas diferentes, mas relacionadas.

Resharper : age como um aide-mémoire line-by-line sobre coisas que você realmente deveria estar fazendo. Isso ajuda com a refatoração (mais do que o Dev Studio padrão), ele ajuda a indicar quais itens são testáveis, ele adiciona ao intellisense.

NDepend : atua como uma ferramenta de qualidade e exploração de código. Onde o Resharper ajuda a ver e fazer as árvores, o NDepend permite que você veja a floresta, corte aceiros e geralmente mantenha uma visão de alto nível. O CQL (Code Query Language) é maravilhoso para definir problemas específicos do projeto ou regras a serem aplicadas.

    
por 14.02.2011 / 20:32
fonte