Este artigo foi traduzido por máquina.

Não obtiver Me iniciado

Terra do nunca

David Platt

Em coluna do mês passado , eu mused sobre como, no software como na vida própria, normalmente há um tempo para uma ação e também um para seu oposto. Este mês, quero discutir o oposto do que pensamento, por que eu quero dizer eventos para os quais nunca há um tempo.

Eu geralmente comparar nossa indústria de software para o setor médico. Um médico não é possível controlar completamente o resultado de um paciente. Situações médicas variam, riscos sempre existir, coisas acontece. Mas certos eventos prejudicar o paciente nunca, nunca ocorra. Sabemos o que faz com que elas, nós sabemos como preveni-las;Portanto, sua ocorrência sempre constitui malpractice. Ler a lista desses "nunca eventos" ( bit.ly/h9RMl8 ) torna a wince: operando o paciente errado ou a parte errada do paciente correto;deixando instrumentos cirúrgicos dentro do paciente e assim por diante. Meu piada de notícias sempre favorito bons/maus — "A má notícia é que nós amputated o trecho errado. A boa notícia é que o outro segmento está melhorando cada vez afinal "— brutalmente ilustra a unacceptability desses eventos. (Eu sei: "Plattski, é um filhote de cachorro doente". Já foi dito antes.)

Precisamos adotar essa mesma idéia de nosso software: que determinadas ocorrências são nunca, nunca, aceitáveis. Precisamos definir esses eventos, divulgá-los e educar os desenvolvedores sobre o que são e como evitá-los. E precisamos explicar aos usuários que eles nunca deverá tolerar esse comportamento de seus softwares e não devem ser solicitados.

Aqui está minha primeira proposta nunca evento para o software. Quem dera nossos programas não seria crash, como os médicos desejem seus pacientes não seria which (e eles invejar nossos botões redefinir), mas nenhum deles está prestes a ocorrer em breve. Como sabemos que nossos programas ocasionalmente travará, devo dizer que a perda de trabalho do usuário em uma falha é um evento nunca. Lembre-se de como você funcionaria no Word ou Excel para duas horas e até seria exibida a caixa de erro de aplicativo irrecuperável temida e era tudo removido? Não é aceitável. Nunca. Qualquer circunstância.

Ouço preguiçoso aficionado objecting. "Não é nosso problema, é uma questão de educação. Os usuários têm apenas salvar seu trabalho a cada 10 segundos, em seguida, eles nunca perderá nada." Balderdash. Não é o trabalho do usuário, mais que o trabalho do paciente para informar o cirurgião: "não, dimwit, é meu braço de outro. Tem certeza de que você se lembra de qual extremidade do scalpel para armazenar?" É trabalho o cirurgiões para obter a operação correta, conforme ele é nosso para obter o software certo.

Como esses eventos não devem nunca ocorrer, é uma grande história quando eles fazem. Considere respeitado cirurgião David Ring, quem operado por lado errado de um de seus pacientes no Hospital geral de Massachusetts (e executado o procedimento errado, muito). Em vez de folha de rosto-lo para cima ou Discuta-lo somente em um mortality fechada e a conferência morbidity, ele publicou seu próprio caso na prestigiada diário de medicina do New England ( bit.ly/gzWN9q ). A equipe cirúrgica realizou uma análise de falha total para encontrar a causa raiz. (É muito mais complicado que você imagina.Leia o artigo). Eles revisado protocolos e alterado alguns deles: por exemplo, a preparação de álcool claros fora das marcas de site cirúrgica supostamente inegáveis foi descontinuada. O mundo é um lugar melhor para este intolerance de eventos inaceitáveis e para a abertura ao lidar com os que administram a ocorrer.

Nossa indústria precisa a mesma coisa. Por que foi perdidos dados? Ele não deveria ter sido. O disco estava cheio? Isso é um problema de capacidade — sabemos como resolver que. Porque alguns dimwit retirado o plugue de parede? Isso é um problema de durabilidade — sabemos como resolver isso, de várias maneiras diferentes, com preços diferenciados. Porque esquecemos de verificar um ponteiro nulo? Facilmente pode ser resolvido. e assim por diante.

Se nossa profissão nunca deve tomar seu lugar legítimo como um pilar da sociedade, precisamos adotar essa idéia de outro pilar.

O que fazer você pense são o nunca eventos no software, e como podemos impedi-los? Use o link no final do meu bio para me dizer. Como sempre, os leitores serão identificados apenas pelos nomes, a menos que eles solicitam caso contrário.

David S. Platt ensina a programação.NET na escola de extensão de Universidade de Harvard e em empresas em todo o mundo. Ele é autor de 11 programação livros, incluindo "Por que Software criticava" (Addison-Wesley Professional, 2006) e "Introducing Microsoft.NET"(Microsoft Press, 2002). Microsoft nomeado a ele uma legenda de Software em 2002.Ele pergunta se ele deve fita pressionada dois dedos de sua filha para que ela aprende como contar octal. Você pode contatar a ele pelo rollthunder.com .