So my question is this: Is there something I missed?
Sim: sua mente não é um compilador. Enquanto um compilador pode fazer n mudanças de contexto por segundo, sua mente não pode. O número de mudanças de contexto que sua mente pode fazer em um dia depende de vários fatores como experiência / familiaridade com código base, quão mentalmente você está no código, quão limpo é o código, quão complexo é o problema que você está enfrentando, como você está cansado, se você é freqüentemente interrompido ou em um ambiente barulhento e assim por diante.
Compilar uma base de código (tudo ao mesmo tempo), pela primeira vez (pense em "projeto com 20 arquivos") irá forçá-lo a mudar o contexto do que você está pensando (ex: "este valor é definido para 5 aqui , em seguida, no loop loop blablabla, e o algoritmo complexo produz o valor correto no retorno ") para um problema de compilação que é completamente não relacionado ao que você está pensando (nomes diferentes de arquivo / módulo / função / pré-condições / sintaxe / variável , pré-condições, etc.).
Quanto mais código você compilar de uma vez, mais mudança de contexto sua mente precisa fazer. Isso não é um problema para uma pequena base de código, quando todo o código que você escreveu é o que você escreveu em uma hora. No entanto, é um grande problema quando se trabalha em uma base de código existente, com múltiplas (e muitas vezes não documentadas) interdependências.
Is there actually a benefit to compiling as you go along?
Você minimiza as mudanças de contexto que sua mente precisa fazer, permitindo que você se concentre mais no impacto e nos efeitos colaterais das alterações feitas. Isso também deixa você menos cansado (e menos propenso a erros) e aumenta a qualidade de sua saída (ou seja, você pode garantir efeitos colaterais minimizados mais facilmente quando você altera e compila um arquivo de cada vez, do que quando compila e altera dez). / p>
Se você compilar em iterações muito curtas (isto supõe que o processo de compilação é otimizado para demorar pouco tempo) é possível corrigir erros de compilação sem sair da "zona".
Or is this some sort of myth propagated by the software community that you must compile your code frequently?
Também é propagado pela comunidade de software, mas tem boas razões por trás disso.
In my understanding that's an invalid argument, because "getting code to compile" for a given length of code generally involves fixing a constant number of compile errors and takes a fairly constant amount of time
Parece-me que você tem pouca (ou nenhuma) experiência na manutenção de bases de código herdadas de médio a grande porte (centenas ou milhares de arquivos de origem). É aí que essa atitude (ou seja, "compilar como você vai") vai ajudar mais, e é aí que você forma esse tipo de hábito.
Eu imagino que as pessoas que o visualizaram fizeram uma conclusão semelhante ("você tem pouca ou nenhuma experiência em grandes bases de código").