Já trabalhei com pessoas em código antes. Geralmente é divertido e produtivo. No entanto, você não tem idéia de quantas pessoas com quem trabalhei podem codificar como uma besta, mas não são capazes de dizer o que uma função faz olhando para o código, ou inicia cada resposta com “Eu acho”. Isso me deixa louco, o que me leva a alguns pontos sobre por que você deveria ser um hacker.
Você não pode ler o código
Se você pode escrever código, mas não pode lê-lo, isso é tão ruim quanto ser capaz de dirigir um carro, mas ficar com os olhos vendados enquanto o faz. Você não consegue entender o que está fazendo. Você sabe o que está fazendo, sabe o que precisa fazer, mas não sabe por que funciona. Você não pode entender o que algo faz olhando para ele. Você precisa ser capaz de apenas olhar para o código e ser capaz de entender “Ok, isso vai gravar em um arquivo e, em seguida, vai despejar os logs em um diretório temporário para que possa analisá-lo e excluí-lo.” É um exemplo horrível, mas funciona mais ou menos para isso. Resumindo, se você não consegue entender o código, não deveria estar escrevendo.
Você não comenta
Você deve documentar o inferno fora do seu código em linha. Por exemplo:
//This function joins two strings and returns them
function joinStrings(str,ing) {
$string = $str . $ing;
return $string;
}
Devo ser capaz de entender a base do que o código é à primeira vista e descobrir como ele funciona examinando o próprio código. Os comentários são seus amigos. Você sempre deve sempre usá-los.
Você não pode fazer o código trabalhar para você
Digamos que você esteja usando o código de outra pessoa. Está documentado e funciona bem, mas o problema é que você está usando soluções alternativas para fazer funções repetitivas e o código não permite atalhos para isso. Ou diga que o código tem um bug. De qualquer maneira, você implora ao desenvolvedor para implementar seu atalho ou enviar uma correção? Ou você descobre como fazer isso funcionar para você e envia uma solicitação de pull? A resposta deve ser que você mesmo está trabalhando nisso. Você deve ser capaz de fazer qualquer código fazer o que quiser, não importa quem o escreveu.
Jonah Ellison disse isso melhor. “Um hacker pode fazer um computador fazer o que ele quiser.” O título pode ser um pouco enganador, mas o ponto é, você deve trabalhar com o seu computador e código, não trabalho sobre ele.