🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #51005

Re: Funkcja korzystająca z instrukcji switch

#51005
From: Vax
Date: Tue, 24 Jan 2012 22:37
116 lines
4456 bytes
W dniu 2012-01-24 22:28, PawelS pisze:

> wykonuję ściśle określone porównania,
> które z pewnych powodów wyciąłem,

no i? owe "ściśle określone" _porównania_ już zwracają bool.
Albo porównanie jest prawdziwe, albo jest fałszem.
Zatem:

return jakieś_porównanie;

zamiast

if(jakieś_porównanie){
  return true;
}else{
  return false;
}

bo to właśnie masło maślane i zamiast zwrócić wynik "czy 5 jest
większe od trzech?" (TAK/NIE) wykonujesz: "jeżeli prawdą jest, że pięć 
jest większe od trzech, odpowiedz TAK a jeśli NIE to odpowiedz NIE"

> nie zrozumiałeś chyba [...inline_ciach...],

nie zrozumiałeś chyba, że nawet jeśli ten niefortunny zapis jest 
porównaniem, to jego wynik JUŻ jest wartością logiczną, gotową do 
zwrócenia, po co ten zbędny bełkot "jeśli to prawda to prawda a jak nie 
to fałsz"? ;p

>> Jakim cudem return ma zwracać random, a if nie?
>
> bardzo prostym logicznym warunkiem:
> tu poniżej porównuję to pole z 1,
> chociaż nie zawsze porównanie jest z 1:
> if ($this->PROJECTROW['is_public']==1) {
> return true;
> } else {
> return false;
> }

i jakim to cudem:

return $this->PROJECTROW['is_public']==1;

ma zwracać wartość losową?
Zwróci dokładnie to samo, co Twój bełkot, tylko szybciej.

> tu poniżej sprawdzam nie pustość pola:
> if (!empty($this->USERPERMISSIONS['log_time'])) {
> return true;
> } else {
> return false;
> }

return !empty($this->USERPERMISSIONS['log_time'];

> a tu np: zdarza się jeszcze sprawdzać użytkownik jest adminem:
> if (AuthRedmine::getInstance()->isAdmin()) {
> /* USER IS ADMIN ($this->AUTHROW[admin]==1) ACCESS GRANTED */
> return true;
> } else {
> return false;
> }

straszne!

return AuthRedmine::getInstance()->isAdmin();

> teraz zapisz mi to swoim skrótem,

proszę, powyżej.

> a potem wróć do tego kodu za pół roku,
> ciekawe czy wlot zrozumiesz
> co miałeś na myśli pół roku temu,

Ty jakiś ociężały jesteś?

1. return $this->PROJECTROW['is_public']==1;
odpowiedz "czy klucz is_public jest równy jeden"

2. return !empty($this->USERPERMISSIONS['log_time'];
zwróć "nie-pustość" klucza log_time

3. return AuthRedmine::getInstance()->isAdmin();
przekaż odpowiednią wartość zwróconą przez daną metodę.

...zamiast dodatkowo bełkotać, że jeśli to co mam zwrócić (pewien 
warunek) jest prawdą, to zwracam (jakże egzotycznie) prawdę, a jeśli 
nieprawdą, to zwracam, uwaga, zaskoczenie... nieprawdę!

[ciach - bezsensownie zacytowany kawał postu]

> czy jesteś aż tak ograniczony,

nie, Ty jesteś ograniczony, mylisz grupy i nie wycinasz zbędnych cytatów.

> że nie widzisz że kod w PHP miał pokazać ideę,

czy jesteśtak ograniczony, żeby na grupie o JS nie potrafić pokazać idei 
w tymże języku?
Może mam Ci przekazać idee w assemblerze Z80?

> nie chciało mi się go przepisywać na JSa,

czyli okazałeś brak szacunku potencjalnym czytelnikom

> więc wkleiłem PHP, ale w sumie w JS też bym go podobnie zapisał,

Czyli zapisałbyś jak baran, który nie rozumie swego(?) kodu i powiela 
tylko jakieś "wzorce projektowe".

Sorry, ale sam się prosisz...

v.
Technical Details
Message-ID: <jfnbqo$ocr$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
References: <a06e9e8f-2ae6-41a8-b804-31e3ef49e304@d10g2000vbh.googlegroups.com> <jeebqu$2r0$1@inews.gazeta.pl> <jel0oj$hbq$1@news.icm.edu.pl> <jfbo35$gq3$1@julia.coi.pw.edu.pl> <jfcklt$875$1@news.icm.edu.pl> <jfjehq$r02$1@julia.coi.pw.edu.pl> <jflu94$5il$1@mx1.internetia.pl> <jfmf0f$lo5$1@julia.coi.pw.edu.pl> <jfmqb1$j0i$1@news.icm.edu.pl> <jfn7qh$sgr$1@julia.coi.pw.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Vax <mail@zepsul.sie>
Newsgroups: pl.comp.lang.javascript
Subject: Re: Funkcja korzystająca z instrukcji switch
Date: Tue, 24 Jan 2012 23:37:33 +0100
Organization: ICM, Uniwersytet Warszawski
Lines: 116
Message-ID: <jfnbqo$ocr$1@news.icm.edu.pl>
References: <a06e9e8f-2ae6-41a8-b804-31e3ef49e304@d10g2000vbh.googlegroups.com> <jeebqu$2r0$1@inews.gazeta.pl> <jel0oj$hbq$1@news.icm.edu.pl> <jfbo35$gq3$1@julia.coi.pw.edu.pl> <jfcklt$875$1@news.icm.edu.pl> <jfjehq$r02$1@julia.coi.pw.edu.pl> <jflu94$5il$1@mx1.internetia.pl> <jfmf0f$lo5$1@julia.coi.pw.edu.pl> <jfmqb1$j0i$1@news.icm.edu.pl> <jfn7qh$sgr$1@julia.coi.pw.edu.pl>
NNTP-Posting-Host: 89-68-3-67.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1327444633 24987 89.68.3.67 (24 Jan 2012 22:37:13 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Tue, 24 Jan 2012 22:37:13 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0) Gecko/20111222 Thunderbird/9.0.1
In-Reply-To: <jfn7qh$sgr$1@julia.coi.pw.edu.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit