projektit:wanhat:argumentti_parametri_return

Käyttäessäsi globaaleita muuttujia teet ohjelmastasi tarpeettomasti vaikeasti luettavan. Koska mikä tahansa koodinpätkä voi käydä muuttamassa globaalia muuttujaa milloin tahansa, niin globaalin muuttujan tarkoituksen ymmärtäminen voi vaatia laajan kokonaisuuden sisäistämistä koodista. Globaalin muuttujan käyttäminen tekee koodin jakamisesta vaikeampaa. Ne johtavat ongelmiin nimeämisessä, koska nimetty globaali muuttuja kutsutussa tiedostossa voi olla jo määritetty jo toisessa tiedostossa (jolloin tiedostojen linkittäminen epäonnistuu). Paikallinen muuttuja samalla nimellä suojaa globaalin muuttujan arvoa, joka voi johtaa taas vaikeammin ymmärettävään koodiin. Asetetun globaalin arvon muuttuja voi luoda sivuoireita muissa koodin pätkissä, joita voi olla vaikea paikallistaa tai ennakoida. Globaalien muuttujien käyttäminen aiheuttaa vaikeuttaa koodin pätkän eristämistä testausta varten, joten ne voivat johtaa koodin laadun alentumiseen.

The use of global variables makes software harder to read and understand. Since any code anywhere in the program can change the value of the variable at any time, understanding the use of the variable may entail understanding a large portion of the program. Global variables make separating code into reusable libraries more difficult. They can lead to problems of naming because a global variable defined in one file may conflict with the same name used for a global variable in another file (thus causing linking to fail). A local variable of the same name can shield the global variable from access, again leading to harder-to-understand code. The setting of a global variable can create side effects that are hard to locate and predict. The use of global variables makes it more difficult to isolate units of code for purposes of unit testing; thus they can directly contribute to lowering the quality of the code.

Argumentti parametrillä annettu arvo odottaa paluuarvoa takaisin, jolloin se luo automaattisesti helpommin luettavan ja ymmärrettävän koodin, ja jota on helpompi testata eristettynä. Se jos sama tehtäisiin globaalilla muuttujalla, niin paluuarvona yleensä olisi void (ei mitään), jolloin koodin lukija voi ymmärtää, että funktiolta ei oleteta paluuarvona mitään, vaikka globaalia parametriä käytiin muuttamassa. Tämän on yksi syy miksi globaalit parametrimuuttujat ovat kiellettyjä tyylioppaissa ja ohjelmointiohjeissa.

  • projektit/wanhat/argumentti_parametri_return.txt
  • Viimeksi muutettu: 2019/09/18 20:31
  • (ulkoinen muokkaus)