"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Constantes em JS e o que Platão e Aristóteles têm a ver com isso

Constantes em JS e o que Platão e Aristóteles têm a ver com isso

Publicado em 15/08/2024
Navegar:166

Constants in JS and what do Plato and Aristotle have to do with it

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.

Lembremos o que Platão e Aristóteles tinham a dizer sobre isso.

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"
    }
};

Ideal (constante):

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.

Material (Valor da Constante):

partes: A lista de partes do navio que muda todos os dias. Isso reflete a materialização do navio, que muda com o tempo.

Platão sobre Ideal e Material:

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 sobre Forma e Matéria:

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.

Então, quais são os benefícios reais do uso de constantes?

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.

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/simprl/constants-in-js-and-what-do-plato-and-aristotle-have-to-do-with-it-2boi?1Se houver algum violação, entre em contato com [email protected] para excluir
Tutorial mais recente Mais>

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