eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingzmienne globalneRe: zmienne globalne
  • Data: 2010-08-28 14:57:26
    Temat: Re: zmienne globalne
    Od: porneL <n...@p...net> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Sat, 28 Aug 2010 15:26:33 +0100, <j...@p...onet.pl>
    wrote:

    > Nie jestem zbyt doświadczonym programistą. Mam pytanie: czy dobrą zasadą
    > w
    > programowaniu jest żeby używać zmiennych globalnych tylko w
    > ostateczności? Np.
    > zamiast:
    >
    > global error_code;
    > function something() {
    > error_code = 0;
    > ...
    > if (!success) {
    > error_code = 27;
    > }
    > return value;
    > }
    >
    > czy lepiej jest napisać:
    >
    > function something() {
    > ...
    > if (!success) {
    > return -27;
    > }
    > return value;
    > }

    Zmienne globalne to zło. Efekty uboczne to też zło. Pierwsza wersja nie
    nadaje się do wielowątkowych programów i może być upierdliwa nawet w
    jednowątkowych (musisz sprawdzić zmienną od razu zanim coś ją nadpisze).

    Druga wersja jest OK, ale wymaga od użytkownika funkcji pamiętania o
    sprawdzeniu magicznej wartości.


    Jeżeli możesz, użyj wyjątków:

    function something() {
    if (!success) throw new Exception27();
    return value;
    }

    wtedy przy użyciu funkcji nie trzeba pamiętać o sprawdzeniu magicznych
    zmiennych/wartości.

    W językach bez [nadających się do użytku] wyjątków możesz zwrócić parę
    wartości (to jest wersja preferowana w GoogleGo):

    function something() {
    return (success, value);
    }

    --
    http://pornel.net
    this.author = new Geek("porneL");

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: