Mitä iso juttu nimeämisessä on? Ja miksi meidän pitäisi edes välittää siitä? Se on vain nimi.

Muuttujien, menetelmien, luokkien, pakettien jne. nimeämiseen kiinnitetään usein vähemmän huomiota kuin ansaitsee. Hyvin usein kohtaamme nimiä, kuten i,j,k, tai merkityksettömiä nimiä, kuten customerServicingProfileObjectUtil. Emme pidä tärkeänä käyttää muutamaa minuuttia parempien nimien keksimiseen ohjelmakomponenteillemme. Loppujen lopuksi se on vain nimi. Jos emme ymmärrä, mitä se tekee, voimme aina vain lukea koodin ja selvittää sen.

Nimeäminen voi tarkoittaa enemmän kuin uskommekaan. Jos emme pysty keksimään hyvää nimeä komponentille, se voi tarkoittaa mitä tahansa seuraavista

  • Emme ymmärrä tämän komponentin vastuuta
  • Sillä on enemmän kuin yksi vastuu

Joten keksimällä hyvän nimen voimme nähdä ongelmat selkeästi ja muuttaa koodin puhtaammaksi. Se auttaa myös koodimme luettavuutta. Jos näemme menetelmän, jolla on tarkoitus paljastava nimi, meidän ei tarvitse kaivaa sitä menetelmää läpi yrittääksemme selvittää, mitä se tekee, mikä nopeuttaa koodin ymmärtämistä. Loppujen lopuksi kirjoitamme koodia saadaksemme muut ihmiset ymmärtämään sen.

Toinen huonon koodin haju on, kun joudumme käyttämään kommentteja kuvaamaan komponenttia sen nimen sijaan. Sen sijaan voimme yksinkertaisesti nimetä komponentin uudelleen mielekkäällä nimellä, jotta tätä kommenttia ei tarvita.

Esimerkki Robert C Martingista Clean-koodikirjastaan:

Käytä int d; // elapsed time in days sijaan int elapsedTimeInDays

Kun nimeämme komponentteja oikein, ymmärrämme niitä paremmin, ymmärrämme, että ne voivat kuulua eri paikkoihin. Periaatteessa refaktoroimme koodin paremmin.