Como o seu tempo de trabalho é distribuído entre codificação e pensamento? [fechadas]

8

... em porcentagem. Por exemplo 60/40 ou 90/10 ou 100/0.

Minha hipótese é que quanto maior a proporção de tempo que você gasta pensando, menor será o resultado do seu código (e menos tempo será necessário para anotá-lo). Pense mais, escreva menos, em outras palavras. Você acha que é verdade?

Como uma observação lateral, acho que em empresas de software típicas o pensamento não faz parte da cultura de qualquer maneira: você costuma estar sentado ali no seu computador digitando alguma coisa. Você quase certamente será notado por seus gerentes se vagar com um olhar vazio, pensando nos próximos passos com seu código. Que pena.

mojuba
fonte
1
Possivelmente semelhante: programmers.stackexchange.com/questions/12696/…
Chris
1
@ Chris: não exatamente, essa pergunta é sobre codificação versus "Ler sobre o assunto, melhorar o conhecimento, aprender coisas novas", o que não significa exatamente pensar em suas ações. Embora sim, o pensamento é mencionado em algumas respostas.
Mjuba
Esta é apenas uma pergunta mais precisa do que aquela. Você está pedindo a codificação: pensando no tempo, essa pergunta está codificando: <qualquer coisa, exceto codificação>. Semelhante o suficiente para mim.
Chris
2
@ Chris: absolutamente não. Diferença enorme entre pensar nos próximos passos e qualquer atividade que não seja a codificação. O que estou tentando dizer aqui é que você pode melhorar seu código pensando mais antes de começar a codificar.
Mjuba
4
Também recomendo pensar enquanto você codifica.

Respostas:

9

Eu codifico em último recurso.

Digamos 50% pensando, 50% codificando incluindo 10% implementação e 40% depuração.

Klaim
fonte
Excelente, acho que 50/50 é a proporção certa, embora pareça absurdo para muitos.
Mjuba
2
Sim, é contra-intuitivo para a visão mental da produção em fábrica. Você precisa entender que a programação é toda solução de problemas, não código "fabricação", antes de concordar que é melhor pensar muito antes de agir.
Klaim
certamente a depuração também pode incluir o pensamento
jk.
Obviamente sim. Mas, na verdade, ainda é apenas o processo mental de resolução de problemas, enquanto codificar e depurar enquanto codifica é mais mecânico, mais baixo nível. Você pode pensar em inventar uma estratégia, enquanto a codificação a aplica, usando táticas para adaptar sua estratégia ao contexto.
Klaim
Antes que a fabricação acontecesse, alguém tinha que gastar muito tempo pensando e aprimorando para aperfeiçoar esse produto ... então também há muito pensamento na fabricação ... isso acontece mais cedo ... e geralmente por uma pessoa diferente .
CaffGeek
10

Como em qualquer outra coisa, depende

No início de algo, a maior parte do tempo é gasta pensando e planejando como codificá-lo. Depois de ter o plano em prática, a maior parte do tempo é gasta em codificação.

Rachel
fonte
+1, não faz sentido generalizar. A proporção seria muito diferente para implementar uma árvore B + do que para gravar operações CRUD.
21411 dan_waterworth
5

60% Pensamento / 40% Codificação

Não estou apenas pensando no trabalho. Estou pensando em todos os lugares que vou. Costumo não começar a codificar até ter pensado em todas as possibilidades. Não estou falando de escrever código na minha cabeça, estou falando de fazer o refinamento gradual na minha cabeça.

Michael Riley - também conhecido por Gunny
fonte
3

Alguns dias, escrevo uma única linha de código, mas ainda faço mais trabalho (para que o aplicativo funcione) do que no dia seguinte escrevo mil. Meu gerente chamava o primeiro dia de desperdiçado, ele olha os LOCs produzidos por dia para medir a produtividade (ou costumavam fazer, menos hoje em dia).

Estou pensando menos no segundo dia? Talvez, dependa do tipo de codificação disponível (se a consulta irracional de um banco de dados que já fiz mil vezes já não é um grande desafio mental).

jwenting
fonte
2

O código mais curto geralmente é melhor, mas nem sempre.

Por que punir um desenvolvedor que aumentou a fluência através da experiência e sabe exatamente o que está fazendo? Toda linha de código não precisa ser seu primeiro rodeio.

Não assuma, porque estou digitando que não estou pensando. Digitar não exige muito esforço mental.

O planejamento é muito importante, mas não deve ser confundido com o pensamento sobre o seu código.

JeffO
fonte
Esse é um bom ponto, na verdade, eu quis dizer pensar no seu código mais do que planejar / projetar o produto como um todo.
Mjuba
2

Ao contrário da maioria das "% gasto pensando"> "% gasto em respostas de codificação" acima, estou (um pouco para minha surpresa) descobrindo que atualmente minha produtividade está correlacionada com as teclas digitadas. O "atualmente" é fundamental: estou aprendendo um novo idioma / sistema, e simplesmente aprendo mais quando sujo as mãos, construo coisas e quebro coisas e descubro como consertá-las do que se eu me sentar e tentar pensar através de tudo isso, que muitas vezes se transforma em pensamentos improdutivos sobre quão complicada é essa coisa estúpida.

(Normalmente, eu não me incomodaria em responder uma pergunta com uma resposta já aceita, mas isso me fez pensar e não pude deixar de ponderar.)

Beekguk
fonte
1

Quando planejo um problema em detalhes antes de começar a codificá-lo, percebo que faço menos revisões. Eu acho que é preciso muita disciplina para não ir direto ao código, mas vale a pena. Infelizmente, como você observou, a maioria dos não programadores não entende que o tempo fora do computador para planejar e pensar primeiro pode realmente acelerar e melhorar uma tarefa.

brian_d
fonte
Em uma empresa em que trabalhei, tínhamos muitas pequenas salas de reunião, e não havia problema em ficar sozinho por um tempo, desde que você estivesse segurando uma caneta e um bloco de notas e tivesse uma aparência pensativa;)
mojuba
1

Tenho certeza de que entendi sua distinção entre pensamento e codificação. Mas, por que parar de pensar quando você começa a codificar? Felizmente, a digitação não exige tanto esforço que você não consegue pensar ao mesmo tempo.

Acho que funciona bem pensar um pouco sobre a direção que devo seguir e começar a codificar enquanto penso em mais detalhes menos significativos.

John Fisher
fonte
1

Como o seu tempo de trabalho é distribuído entre codificação e pensamento?

Depende. Nesta época do ano, eu estou principalmente corrigindo bugs, então pensar é a maior parte do meu esforço de trabalho.

Como uma observação lateral, acho que em empresas de software típicas o pensamento não faz parte da cultura de qualquer maneira: você costuma estar sentado ali no seu computador digitando alguma coisa. Você quase certamente será notado por seus gerentes se vagar com um olhar vazio, pensando nos próximos passos com seu código.

Você descobrirá que essa atitude não se limita às empresas de software. É um fenômeno generalizado na cultura corporativa americana. Minha experiência é que os gerentes que passaram um tempo significativo nas forças armadas (ou quando mais jovens na escola militar) adquirem o hábito de estar sempre trabalhando . Se o seu Seargant o pegar sem trabalhar (e como o pensamento não é visível para um espectador externo, pensando == brincando), ele ordenará que você esfregue as calçadas com uma escova de dentes (ou outro material estúpido) apenas para mantê-lo de brincadeira. O pior gerente de todos os tempos em que trabalhei intencionalmente criaria uma crise para fazer com que você trabalhasse se ele te pegasse sem fazer nada - e, como ele também era o proprietário, ele não acreditava que você precisava pensar em algo, apenas faça.

Tangurena
fonte
1

Como o seu tempo de trabalho é distribuído entre codificação e pensamento?

ELES SÃO OS MESMOS

TRANSMISSÃO FINAL

sova
fonte
2
Alguém lhe deu um
voto negativo
1

Pensar para mim é uma maneira de abstrair a codificação. Você pensa nas possibilidades e no resultado mais provável. Eu penso muito. Às vezes eu deito com a cabeça na mesa e os olhos fechados. Pensar é o menor nível de design. Eu sempre ajusto meu comprimento de pensamento com base no efeito de área do código que estou prestes a escrever.

"Onde coloco este botão?" fica quase sem tempo para pensar ", onde coloco esse campo do banco de dados?" fica o tempo que for preciso.

Pensar no papel também ajuda, e parece muito mais com trabalho e muito menos com devaneios.

Tjaart
fonte
0

isso pode variar muito Muito do meu código é resultado de várias ferramentas que escrevi. Portanto, há dias em que "escrevo" uma quantidade enorme de código, quase nenhum manualmente. E há dias em que acho que passo mais tempo com um lápis do que com meu teclado.

Zachary K
fonte