eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › zmienne globalne
Ilość wypowiedzi w tym wątku: 13

  • 1. Data: 2010-08-28 14:26:33
    Temat: zmienne globalne
    Od: j...@p...onet.pl

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


    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 2. Data: 2010-08-28 14:57:26
    Temat: Re: zmienne globalne
    Od: porneL <n...@p...net>

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


  • 3. Data: 2010-08-29 06:50:58
    Temat: Re: zmienne globalne
    Od: j...@p...onet.pl

    A co sądzisz o tym, że w PHP nie deklaruje się zmiennych?

    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 4. Data: 2010-08-29 08:49:50
    Temat: Re: zmienne globalne
    Od: "R.M.M" <r...@o...pl>

    W dniu 2010-08-29 08:50, j...@p...onet.pl pisze:
    > A co sądzisz o tym, że w PHP nie deklaruje się zmiennych?
    >
    czasem sie deklaruje, np. zeby przeslonic zmienna majaca szersza
    widocznosc (niekoniecznie globalna) na rzecz zmiennej lokalnej o takiej
    samej nazwie.

    --
    R.M.M


  • 5. Data: 2010-08-29 11:08:34
    Temat: Re: zmienne globalne
    Od: porneL <n...@p...net>

    On Sun, 29 Aug 2010 07:50:58 +0100, <j...@p...onet.pl>
    wrote:

    > A co sądzisz o tym, że w PHP nie deklaruje się zmiennych?

    Włącz pokazywanie ostrzeżeń i PHP będzie czepiało się braku
    definicji/deklaracji.

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


  • 6. Data: 2010-08-29 14:15:46
    Temat: Re: zmienne globalne
    Od: j...@p...onet.pl

    > WĹ&#65533;Ä&#65533;cz pokazywanie ostrzeĹźeĹ&#65533; i PHP bÄ&#65533;dzie
    czepiaĹ&#65533;o siÄ&#65533; braku  
    > definicji/deklaracji.

    Rozumiem że masz na myśli inicjalizację bo o deklarowaniu zmiennych w PHP to ja
    nigdzie nie przeczytałem.

    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 7. Data: 2010-08-31 12:49:26
    Temat: Re: zmienne globalne
    Od: klops <k...@k...pl>

    W dniu 2010-08-29 08:50, j...@p...onet.pl pisze:
    > A co sądzisz o tym, że w PHP nie deklaruje się zmiennych?

    Brak deklaracji zmiennych może być wygodne gdy się pisze, ale może też
    być koszmarem gdy się próbuje zrozumieć obcy kod. A poza tym to
    oczywiste, że dynamiczne typowanie (brak deklarowania typów) superancko
    spowalnia program, bo ciągle trzeba ustalać typ zmiennej wynikający z
    kontekstu.



  • 8. Data: 2010-08-31 21:35:21
    Temat: Re: zmienne globalne
    Od: Michoo <m...@v...pl>

    W dniu 31.08.2010 14:49, klops pisze:
    > Brak deklaracji zmiennych może być wygodne gdy się pisze,

    Zwłaszcza gdy zrobisz literówkę w identyfikatorze i potem przez 2
    godziny zastanawiasz się czemu to nie działa. ;)



    --
    Pozdrawiam
    Michoo


  • 9. Data: 2010-08-31 21:39:44
    Temat: Re: zmienne globalne
    Od: porneL <n...@p...net>

    On Tue, 31 Aug 2010 22:35:21 +0100, Michoo <m...@v...pl> wrote:

    > W dniu 31.08.2010 14:49, klops pisze:
    >> Brak deklaracji zmiennych może być wygodne gdy się pisze,
    >
    > Zwłaszcza gdy zrobisz literówkę w identyfikatorze i potem przez 2
    > godziny zastanawiasz się czemu to nie działa. ;)

    Jak masz włączone ostrzeganie o użyciu niezadeklarowanych zmiennych, to
    dowiesz się o tym dużo prędzej.

    Poza tym jak masz edytor z autouzupełnianiem nazw, to trudniej o literówkę
    (albo łatwiej o używanie tej samej literówki wszędzie :)

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


  • 10. Data: 2010-09-01 06:45:48
    Temat: Re: zmienne globalne
    Od: Mariusz Marszałkowski <m...@g...com>

    On 31 Sie, 23:35, Michoo <m...@v...pl> wrote:
    > W dniu 31.08.2010 14:49, klops pisze:
    >
    > > Brak deklaracji zmiennych może być wygodne gdy się pisze,
    >
    > Zwłaszcza gdy zrobisz literówkę w identyfikatorze i potem przez 2
    > godziny zastanawiasz się czemu to nie działa. ;)
    Ostatnio dużo programuję w PHP i JavaScript, a z rzadka w VBExcel
    nie mam jakiś szczególnych kłopotów z tego powodu że nie trzeba
    deklarować zmiennych. Nie pamiętam żeby zdarzyło mi się szukanie
    przez dwie godziny błędu z powodu literówki w nazwie zmiennej.
    Pozdrawiam




strony : [ 1 ] . 2


Szukaj w grupach

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: