Parece-me que os juniores veem os componentes do código como coisas materiais, enquanto os seniores lidam mais com categorias ideais.
Ou talvez dependa da visão de mundo de uma pessoa e não do seu nível profissional?
Às vezes, durante as revisões de código, me deparo com um código onde, em vez da constante CAR_WIDTH, o desenvolvedor usou a constante TABLE_WIDTH porque foi a primeira constante que ele encontrou com um valor adequado.
Este é um problema comum quando os desenvolvedores escolhem uma constante com base em seu valor e não em seu nome. Acontece que o desenvolvedor não entende o propósito principal das constantes. Na sua opinião, as constantes são apenas para reutilização e legibilidade.
Eles tinham sua própria constante chamada SHIP_OF_THESEUS.
https://en.wikipedia.org/wiki/Ship_of_Theseus
Provavelmente recebeu um nome diferente em grego, mas vamos escrevê-lo em latim e, portanto, traduzi-lo para o inglês.
const SHIP_OF_THESEUS = { name: "Ship of Theseus", parts: ["mast", "hull", "sail"] };
A constante SHIP_OF_THESEUS neste exemplo simboliza a identidade imutável do Navio de Teseu. Seu valor, que muda com o tempo, representa as mudanças materiais.
// Day 1: Initial state of the ship const SHIP_OF_THESEUS = { name: "Ship of Theseus", parts: ["mast", "hull", "sail"] }; // Day 2: Developer changes one part of the ship const SHIP_OF_THESEUS = { name: "Ship of Theseus", parts: ["new mast", "hull", "sail"] }; // Day 3: Developer changes another part of the ship const SHIP_OF_THESEUS = { name: "Ship of Theseus", parts: ["new mast", "new hull", "sail"] }; // Day 4: Developer changes structure of the part of the ship const SHIP_OF_THESEUS = { name: "Ship of Theseus", parts: { mast: "new mast", hull: "new hull", sail: "sail" } };
SHIP_OF_THESEUS: Todos os dias, esta constante representa a essência ideal do Navio de Teseu. Apesar das alterações no seu valor, o conceito do navio permanece inalterado.
partes: A lista de partes do navio que muda todos os dias. Isso reflete a materialização do navio, que muda com o tempo.
A constante SHIP_OF_THESEUS como forma ideal permanece inalterada: todos os dias ela representa o Navio de Teseu. No entanto, seu valor (as partes) pode mudar, refletindo alterações materiais.
Aristóteles diria que a identidade do navio é preservada através de sua forma e função (muito semelhante à digitação de pato em JS, não é?). No nosso exemplo, embora as partes do navio mudem, a forma do objeto (sua estrutura e função) permanece inalterada. Todos os dias ainda é o mesmo Navio de Teseu, apesar das mudanças em suas partes.
O principal benefício não é a legibilidade e a reutilização. O principal benefício é a separação do código em ideal e material (de acordo com Platão) ou forma e matéria (de acordo com Aristóteles) .
Ao fazer essa separação, podemos mudar a matéria sem alterar a forma.
E podemos usar o formulário durante todo o programa sem nos preocupar com a matéria.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3