[ spartak @ 13.01.2004. 09:07 ] @
U Microsoftovom "Design and Implementation Guidelines for Web Clients" na jednom mestu stoji:

Code:

if (format != null && format.Length !=0 && format.Trim().Length !=0)
{
    ......
}


Mozda pravim neki previd, ali zar srednji uslov nije suvisan?

Code:

format.Length !=0


U principu ako je zadovoljen uslov da trimovana duzina nije nula, uvek je zadovoljen uslov da ukupna duzina nije nula. I obrnuto, ako je trimovana duzina nula - nema sanse da ukupna nije nula. Ili nesto previdjam?
[ mmix @ 13.01.2004. 12:38 ] @
Pazi, ako je trimovana dužina 0, netrimovana dužina itekako ima šanse da ne bude 0, uzmi npr. string sastavljen od 10 space-ova Pretpostavljam da ti je to lapsus, ali ti je logika u suprotnom smeru dobra, tj. ako je Len=0 => Len(Trim)=0. A zašto je njihov kod takav imaš dva objašnjenja:

1. Da je pisao neko pametan i da je iskoristio boolean optimizaciju da preskoči poziv Trim-u za prazan string (što je malo verovatno, pošto je ušteda marginalna)
2. Da je kod pisala jeftina radna snaga dovučena sa dalekog istoka koju boli uvo da li je kod optimizovan dok god ne obara kernel (što je verovatniji scenario).

Pozdrav
[ -zombie- @ 13.01.2004. 13:52 ] @
hehe ;)

znači, zaključili smo da je to uradio ili mnogo dobar programer, ili mnogo loš ;)


a ja imam i treću teoriju, to je mogao da uradi i neki osrednji programer, jel je recimo treći uslov dodat naknadno (nakon testiranja programa), a "osrednji programer" je prevideo da je mogao da ukloni taj srednji uslov ;)
[ spartak @ 13.01.2004. 14:15 ] @
U pravu si - lapsus, okrenuo sam naopako samo red izjava u recenici. Znaci ako trimovan nije nula, nema sanse da je bio nula i pre trimovanja.

Trim() ne dize exception cak i kad mu prosledis prazan string duzine 0. Prema tome cist visak.
[ mmix @ 13.01.2004. 15:42 ] @
Citat:
-zombie-:
a ja imam i treću teoriju, to je mogao da uradi i neki osrednji programer, jel je recimo treći uslov dodat naknadno (nakon testiranja programa), a "osrednji programer" je prevideo da je mogao da ukloni taj srednji uslov

Ili je pisao neko ko je baš baš pametan a plaćaju ga po količini iskucanog koda


PS. Evo neću više... izbaciće nas.

Pozdrav
[ Dragi Tata @ 13.01.2004. 16:12 ] @
Citat:
mmix:
A zašto je njihov kod takav imaš dva objašnjenja:

1. Da je pisao neko pametan i da je iskoristio boolean optimizaciju da preskoči poziv Trim-u za prazan string (što je malo verovatno, pošto je ušteda marginalna)
2. Da je kod pisala jeftina radna snaga dovučena sa dalekog istoka koju boli uvo da li je kod optimizovan dok god ne obara kernel ;) (što je verovatniji scenario).


Moja teorija je da je taj kod pisao neko ko je u duši C/C++ programer :) Trim je u poređenju sa Length jako skupa operacija i ovakvi "trikovi" se u praksi često primenjuju. Mada, ako je ovo Web aplikacija, onda su takve optimizacije zaista suvišne - usko grlo je mreža, a ne baratanje stringovima.