Em outras palavras ... Qual é o mal-entendido mais frustrante e comum sobre programação que você encontrou?
Quais mitos / equívocos generalizados e antigos você acha difícil para os programadores dissipar / corrigir .
Por favor, explique por que isso é um mito.
Respostas:
Isso porque você é um programador, sabe como consertar a máquina contra vírus de [pessoa].
fonte
Uma coisa comum de RH que me deixa maluco quando estou procurando emprego: a suposição implícita de que todas as habilidades de codificação são específicas de um idioma, que não há nenhum conhecimento em engenharia de software que transcenda os conjuntos de comandos. Esses dez anos de experiência em Java e outros cinco em Perl significam que você seria completamente inútil em um projeto que usa, por exemplo, C #.
"Sim, há uma curva de aprendizado. Mas fiz transições mais difíceis do que isso. Farei um acordo, pague-me 80% no primeiro mês e no final desse período, se não estiver ... oh , espere, na verdade não estamos tendo essa conversa, porque seu macaco de RH simplesmente excluiu meu aplicativo ".
fonte
Se você não está digitando, não está trabalhando.
Acredito que olhares em branco de zumbis e caminhadas de café são essenciais para programadores que organizam as coisas em suas cabeças.
fonte
que você pode acelerar um projeto atrasado, simplesmente jogando mais pessoas para ele.
fonte
Esse software de escrita é fácil.
De que outra forma você explica todos esses projetos que decorrem com o tempo, o orçamento e as pessoas (políticos, mídia etc.) ainda ficam surpresas, e os clientes reclamam quando você lhes diz que seu "pequeno site" (ou qualquer outro) meses para desenvolver e custar vários milhares de dólares (libras, euros, [inserir moeda da escolha])
Com requisitos nebulosos e sempre em mudança, às vezes acho incrível que qualquer software seja finalizado!
Eu sei que é um pouco mais complicado que isso;)
fonte
A complexidade do aplicativo é diretamente proporcional à complexidade da interface do usuário. Por esse raciocínio, você poderá criar o Google ou o Twitter durante um fim de semana.
fonte
Todos os programadores são bons em matemática. :-)
fonte
Qualquer adolescente que invadir computadores é equivalente (ou superior) em habilidade a um programador veterano que trabalha.
fonte
Isso em tempo real significa rápido.
Indicando "Os pacotes precisam ser processados em tempo real." é inútil e o gêmeo do mal ... respondendo "Quão rápido X precisa acontecer?" com "tempo real" é possivelmente menos do que inútil ... mais estúpido do que ignorante.
Tempo real significa que, simplificando, a função Y sempre levará X uma quantidade de tempo e que qualquer desvio indica um erro grave. A duração de X não define "em tempo real", pode ser seis microssegundos ou seis dias. O fato de você poder determinar a função Y levará tempo X define "em tempo real". Os sistemas em tempo real são determinísticos por esta definição.
Então pare com isso ..
fonte
Por que vocês simplesmente não escrevem certo da primeira vez, em vez de gastar tanto tempo digitando o código de buggy e depois lendo o código tentando encontrar os bugs?
:-) :-) :-) :-)
fonte
Se você ainda não estudou, não é adequado para o trabalho
fonte
Essa otimização prematura significa que você não deve otimizar nada. Eu vi bancos de dados terrivelmente ruins porque ninguém queria considerar o desempenho (crítico para qualquer sistema de banco de dados) no design, pois isso era uma otimização prematura do que qualquer outro problema de design de banco de dados. Lixo, existem assassinos de desempenho conhecidos, pare de usá-los como sua primeira escolha.
Outro mito, é muito difícil refatorar o banco de dados. Não, mas você deve considerar como fazer a refatoração na fase de design para fazê-lo de forma eficaz. E, BTW, quanto mais você esperar para corrigir esse problema irritante de desempenho baseado em design, mais difícil será corrigir.
Outro mito ruim, o design do banco de dados deve refletir os princípios de POO. Não, os bancos de dados são projetados para trabalhar com conjuntos e não com princípios de POO. Algumas coisas de POO causarão problemas horríveis de desempenho e outras são muito tolas em termos de banco de dados.
Por fim, você deve impor a integridade dos dados no aplicativo. Os bancos de dados vão durar mais do que o aplicativo e perderiam as regras quando o aplicativo for substituído, vários aplicativos os acessarão e, muitas vezes, haverá a necessidade de executar consultas diretas para corrigir coisas que não passam pelo aplicativo. Eu nunca vi um banco de dados que se recuse a impor a integridade dos dados no banco de dados que possui bons dados.
fonte
Que existe alguma fonte mítica de melhores práticas absolutas.
Nenhum desvio pode ser justificado.
Nenhum documento que defina algo como uma prática recomendada pode ser questionado.
fonte
O fato de o marketing parecer pensar que adicionar uma tonelada de recursos pequenos é menos trabalhoso do que adicionar um recurso único, mas bastante pesado. O que provavelmente é um caso mais específico do equívoco de que "a alternância de tarefas não tem sobrecarga".
fonte
Esse código de comentário é desnecessário ou esse "código bom não precisa de comentários". Às vezes, você precisa explicar o que um código complexo está fazendo. Além disso, comentar seções do código ajuda você a ler muito mais efetivamente.
fonte
if user.is_logged_in: print('Welcome')
não precisa de um comentário.O pior mito: se você está programando por um longo tempo, pode ser um gerente de projeto facilmente.
E que você deve se tornar um gerente de projetos se estiver programando há muito tempo.
fonte
Se usarmos algo diferente de Java, C # e C ++ em nosso projeto, não encontraremos programadores para suportá-lo.
fonte
fonte
Java é lento .
fonte
Provavelmente, a mais perigosa que eu já vi, porque é aceita com tanta facilidade, é que ser capaz de escrever código rapidamente é bom e, portanto, quanto mais rápido você puder codificar [inserir recurso aqui] em um determinado idioma, melhor o idioma é.
Este é um exemplo sério de otimização prematura, pois muito mais trabalho é na manutenção do código do que na sua criação. Isso significa que é muito mais importante escrever código fácil de ler, compreender e depurar do que o código fácil de escrever rapidamente, e facilitar o código fácil de ler é uma medida muito mais útil da qualidade da linguagem.
fonte
As lições de fabricação podem ser aplicadas ao processo de desenvolvimento de software.
fonte
que, como programador, você sabe tudo sobre as últimas tendências de hardware, overclocking, case mod, etc. amigos e parentes o consultam quando compram suas engrenagens.
fonte
Que quando os programadores dizem que é muito difícil de fazer / simplesmente impossível, o RH pensa que é preguiçoso e desmotivado
fonte
Deve haver um programa de código aberto para os meus negócios. Você não pode simplesmente fazer o download e ajustar meus requisitos.
fonte
Já tive mais de uma pessoa me perguntando como é programar, apenas para perceber no meio da conversa que elas realmente acham que programamos diretamente em binário ou usando símbolos matemáticos.
Não sei se quero dissipar esse mito, me faz parecer realmente inteligente!
fonte
Acho que o maior equívoco é que é mais importante poder escrever o código facilmente do que ler e entender o código.
fonte
A programação é como o trabalho da linha de montagem. Você está trabalhando em um produto por um certo tempo (talvez com colegas de trabalho) e finalmente o envia. Assim como construir uma casa de tijolos.
fonte
A portagem de um programa para C ++ fará com que ele seja executado mais rapidamente.
fonte
Qualquer ambiente de programação com algum tipo de designer visual fará com que os usuários comerciais possam "escrever" o programa e não sejam necessários programadores reais.
fonte
Reutilização de POO. É a maior falácia comercializada em programação.
fonte