najgluplja stvar tokom programiranja
Koja je najgluplja greska koja vam se desila tokom pisanja neke aplikacije, a da se pritom zbog nje izgubili najvise vremena?
Licno, meni se ona desila malopre... Kôd:
foreach($response as $tld->$is_free) { joj... cirka 4 sata mi je otislo na ovo |
Meni posljednja 3 dana ovako izgledaju... Vrijeme je da se ide na odmor :|
|
uf i meni se par puta desio bas taj tip greske (tipa otkucam slucajno $$var) i od tad uvek drzim error_reporting(E_ALL); tokom debuga
|
"=" umesto "==" u IF-u :1039:
|
Citat:
|
Meni je mnogo vremena trebalo da se odviknem od toga, pošto mi je ostala navika iz Pascala gde je = služilo za proveru vrednosti, a := za dodelu.
Foolproof sistem koji sam ja pokušao kod sebe da primenim, pošto elektrošokovi nisu dali efekta, je sledeći: Umesto Kôd:
if ($i==5)... Kôd:
if (5==$i)... Meni ovo nije direktno koristilo, jer mi je bilo jako čudno da pišem logičke izraze naopačke, pa sam to jako retko i radio. Sa druge strane, baš zbog tog pisanja naopačke naučio sam da zastanem kod svake if provere, i sad mi se greške mnogo ređe dešavaju. |
^ primetio sam da neki developeri kodiraju tim stilom. Meni se licno nije svidelo jer je kod onda manje citljiv. Sve u svemu (barem za PHP), mislim da je E_ALL majka, za PHP naravno :)
|
^ Ja sam isto naišao na taj predlog sa 5 == $i ali koliko god se trudio nekako mi nije išlo da tako pišem, tj. onako logički gledano dok čitam kod mnogo je jasnije "ako je i jednako 5"...
|
znaci ipak ja nisam lud, tj. bar nisam jedini ludak :)
ja nikako ne mogu da se naviknem na naopake logicke izraze, iako je to preporuceni stil kodiranja za PEAR, WP i jos mnoge sisteme.. |
Njah, to sto PEAR nesto preporucuje to ne znaci da je to po defaultu dobro.
|
^Ne bi to mozda podijelio s nama? :)
|
pa sve je to stvar toga na sta si istrrenirao mozak... cinjenica je da taj stil pisanja koda pomaze da se izbegnu greske te vrste, ali opet meni je pretesko da svoj zakreceni mozak sad nakon 10+ godina nateram da cita if-ove naopako. S druge strane da tek krecem da radim verovatno mi ne bi predstavljalo problem da se prilagodim..
A sto se coding standarda tice mislim da ne postoje bolji i losiji, samo popularniji i manje popularni... kad su standardi u pitanju uvek treba pratiti gomilu, soliranje je besmisleno.. |
Ja sam to donekle "rešio" u samom editoru. Koristim jako mator ali jako dobar editor u kojem mogu da stavim triggere za auto complete (da sprečim advocacy, ne znam da li drugi to mogu, ali ovi neki najpopularniji nisu ni blizu). Tako recimo kucam:
PHP kôd:
PHP kôd:
Tako imam za mnoge uobičajne stvari uključujući i html, i to ne samo da ubrzava posao nego smanjuje broj grešaka kod tih običnih stvari. Najviše zbog takvih stvari ne menjam editor već 10 godina, a pokušavao sam da koristim ove "modernije" ali sam brzo odustajao. |
Citat:
Sada se baksuzi bune chak i kada bash to hocesh svesno da uradish, tipa if (objekat = new Objekat() ) i treba ti josh jedan set zagrada da ih ucutkash. Btw, zar ovde niko ne koristi neki programski jezik? Svi ste na PHP-u? ;-) |
Citat:
PHP kôd:
|
Citat:
|
Citat:
|
Citat:
PHP kôd:
|
^ Ja sam jedno vreme koristio jedan standard za C# a jedan za PHP, pa se pogubim kad pređem sa jednog na drugi kod.
Sada koristim { } svuda, doduše C# više ne radim. Ono mi je možda bilo zgodnije pre sa malim radnim površinama, sada sa velikim monitorima jedna linija više ne pravi nikakvu razliku. |
Citat:
to je sve stvar navike, ja sam ranije tako pisao pod uticajem prethodne karijere u Delphiju (gde se koriste BEGIN i END umesto zagrada), ali sam se sad potpuno navikao na ovu sintaxu gde je { na kraju reda... koja uzgred stedi prostor, pa stane vise koda na ekran.. ako je identacija pravilna, nemam apsolutno nikakvih problema sa citljivoscu.. Inace, upravo je zbog ovakvih stvari python genijalan jezik... jos kad me ne bi mrzelo da radim malo vise u njemu..:P |
Citat:
Btw, kad se vec pricha o zagradama, kao scope-delimiter ovog puta, seca li se neko da li Python automatski kreira novi scope uz svaki indent? A PHP? |
Citat:
Citat:
Pogotovo mi se svidja highlighting zagrada i mogucnost da ides sa jedne na drugu sa CTRL+M (ZendStudio). |
Vecina modernih editora to radi out of the box. Recimo PSPad, koji je moj izbor na win platformi. Na Ubuntu Gedit to radi uz dodatni plugin, na Mac-u textmate... itd To danas i nije neki spektakularan feature, jer ga vecina ima ;)
edit: snippets |
Off Topic: jesam ja lud ili PSPad sajt nema download link nigde? EDIT: nasao sam ga, ali jedva...odlican je editor, ali je sajt idiotski napravljen |
ma moze vecina da radi sta hoce..editor koji blues koristi ima "neku cudnu moc"
ni ja nikako da se odlepim od njega...:1041: |
A je li ovo neki fazon tipa "ne uzimaj imena editora svog uzalud" ili samo zaboravljate da kažete kako se zove? :D
|
Ne mogu da kažu kako se zove. Toliko je star da su zaboravili! :D
|
To ti je old school "Homesite" ako se ne varam.
Koristio sam ga ranije, ali je ui poceo da me nervira pa sam presao dalje :) edit: http://www.adobe.com/products/homesite/ |
^Dobar ti ovaj PSPad :)
|
Meni je najzanimljivije kada radim podesavanja na test nalogu a programiram na glavnom, ili obrnuto ;)
|
^ ili imash nekoliko brancheva ali su ti svi load-nuti u project, pa CTRL+klik na metod ti otvori klasu iz drugog brancha ....
|
Evo jedna sveža glupost, od danas:
U Rubiju postoji operator dodele ||=, koji predstavlja uslovnu dodelu, tj. promenljivoj sa leve strane dodeljuje vrednost sa desne ako promenljiva nije definisana (za PHP programere: nešto za šta vama obično treba par linija koda i pozivanje funkcije (ustvari nije čak ni funkcija, nego "language construct", ma šta to značilo) isset ;)). Ja sam tokom kodiranja po analogiji sa ostalim "povratnim" operatorima tipa +=, *=, mahinalno podrazumevao da će se izraz sa desne stranice uvek evaluirati (npr, ako kucate a += f(b), funkcija f će se uvek izvršiti). E pa, u slučaju operatora ||= neće, u slučaju da je promenljiva definisana. |
[flameOn]^ sreca pa drugi za to pisu nekolko linija koda[/flameOn]
interesantna konstrukcija :) priznajem da je nesto dosta specific, i da mi trenutno izgleda kao nenuzna skracenica ali sigurno da kao i += ima smisla mislis na ovako nesta? PHP kôd:
|
1, ... 2, ... 3, ....45678910... moram :)
PHP kôd:
Ali sta ja znam, ja sam samo php programer, zar nije vec malo degutatno to infantilno prozivanje php programera? Mislim, doci ce do toga da moramo da pokazujemo izvode sa deviznih racuna, valjda ce onda da prekine to? Osim ako to prozivanje nije u skladu sa naslovom ove teme? p.s. Mislim ako cemo da se prozivamo, bar nemojte ruby da spominjete kao nesto jako dobro. |
^ ovo nisam znao
mada izgleda opet nije ono sto je jablan rekao sa druge strane, ja volim kod koji se cita lakse, iako je mozda duzi, cak i ovaj skraceni if skoro ne koristim naravno ovo je vec stvar ukusa jer ce nekom biti citljiviji skraceni if u jednom redu sa druge strane, da ne vucemo perl-ase za jezik, t.j. za shift :D |
@blues: ako $var nije definisano $var je vec null, nema bas smisla ovaj pristup...
BTW, to isto moze da se pise i u perlu, bez problema radi: $a ||= $b || $c || $d; ali i dalje smatram da je uzasno necitko. |
Zar nije malo kontradiktorno da se balavi nad strongly-typed languages kao vrhuncu programiranja a onda se opet odusevljavamo kada "sve moze"? Na kraju, bas tamo gde sve moze da prodje, najcesce se i desavaju greske koje ne mozes da provalis satima.
btw, moze i ovo $var |= function(); Tacno je da ne radi ono sta je jablan rekao (tek sada sam pazljivo procitao sta je napisao) ali ja sam vise komentarisao tvoj komentar isset(), jer bas naprotiv ovde se uvek izvrsava i desna strana, sto je meni, ovako na prvi pogled i ocekivano ponasanje jedne ovakve konstrukcije. edit 2 ivanhoe: da, ali bar ne generise gresku jer nije null nego je undefined (opet, zavisi od php.ini). |
Citat:
BTW, nisam skapirao baš najbolje šta si hteo da kažeš sa onim "balavljenjem nad strongly-typed jezicima". Što se čitljivosti tiče, stvar je potpuno subjektivna (setimo se prelaza sa paskaloidnih jezika na C, svima su vitičaste zagrade bile ultranečitke pored elegantnih begin i end, pa sve svi na kraju navikosmo). Ono što je zaista bitno kod nekog jezika je doslednost u njegovom dizajnu i ponašanju. |
hm, pa jeste subjektivna kad si vec naucio jezik, ali kad ga ucis to usporava krivu ucenja... perl nije izgubio popularnost zbog cudnog OO modela (sto je realno jedina prava slabost), nego kad pitas ljude zasto ne uce perl obicno se zale na slabu citljivost koda..
|
Citat:
ne valja ti ovo :) 1) mislis da PHP ne napreduje brzo? koliko god imao nedostataka, to je jedan od jezika koji vrsi posao za koji je namenjen i vrsi ga dobro i napreduje 2) ovde imas dve recenice koje ne znam da li da uopste komentarisem ajd recimo da mislis da nasi (sto nasi, a ne svi, ili pak ...) php programeri nisu napredni korisnici istog i recimo da je tvoje pravo da imas takvo misljenje (iako ne vidim otkud ti) a za ovo u zagradama ... "kad nas vec mrzi ...." lol :) dakle, priznajem, mrzi me da ucim ruby i zato sto tool (alatka, pribor, jezik, ako hoces i platforma) koju koristim mi daje sve sto mi treba ukoliko bih pisao stvari kod kojih PHP mi ne bi vrsio posao, veruj mi, ne bih bio lenj i izabrao bih vrlo brzo drug jezik @ivanhoe: tacno ja licno, iako perl poznajem samo povrsno, sam mishljenja da je to mocan jezik mocniji od PHP-a, recimo ukoliko se u odredjenoj firmi (projektu) naloze dobri coding conventions, perl nije uopste necitljiviji od nekog drugog jezika PHP programerski jezik mu dodje kao engleski jezik jednostavan, "ceo svet" ga zna, i svuda mozes sa njim sta ce mi da ucim japanski :) nije sto me mrzi, nego sto mi ne treba a i ne idem u japan a cak i da odem i oni pricaju engleski :P P.S. da dodam: bolje znati osrednji jezik odlicno, nego najkulmegasupercarskiji jezik onako povrsno |
Vreme je GMT +2. Trenutno vreme je 04:45. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.