scurteaza timpul de programare cu shorthand

PEAR, Smarty, ADOdb, OOP, PHP 5, XML, UML, Şabloane de proiectare, PHP-GTK.

Moderatori: coditza, Emil, Moderatori

Avatar utilizator
zeuscool
Senior Member
Mesaje: 250
Membru din: Mie Sep 05, 2007 10:59 am
Localitate: Constanta
Contact:

scurteaza timpul de programare cu shorthand

Mesajde zeuscool » Sâm Apr 21, 2012 12:29 am

Am scris un articol care pentru programatorii incepatori deschide noi usi si pentru oricare altii actualizeaza sau completeaza cunostintele si scurteaza timpul de programare. Cateva exemple:

<?php
$a && print $a; // outputs $a if $a is true

<?php
$object = (object) array ('user1' => 'Franz', 'superuser' => 'ZeusCool');
echo $object->superuser; // prints out ZeusCool

<?php
print "Your have selected " . $itemsNumber . " item" . ($itemsNumber != 1 ? 's' : '') . ".";

Mai multe cititi pe blog la adresa http://marianzburlea.com/php-shorthand- ... d-examples


Follow me on (Da cu share, like, +1 sau ce mai stii !!!) sau comenteaza articolele, sugereaza etc, FII SOCIAL ... :) marianzburlea.com

Pirahna
Senior Member
Mesaje: 5985
Membru din: Dum Aug 22, 2004 2:04 am
Localitate: la birou
Contact:

Mesajde Pirahna » Sâm Apr 21, 2012 3:41 pm

Cum anume scurteaza asta timpul de programare ?
Si ce se intampla cu timpul rezervat pentru debugging, modificari ?

Avatar utilizator
MihaiC
Senior Member
Mesaje: 1644
Membru din: Dum Mai 14, 2006 8:07 pm

Mesajde MihaiC » Sâm Apr 21, 2012 4:01 pm

Eu ma intrebam ce e avansat in toata pozestea asta.
Dev @ oblio.eu

Avatar utilizator
zeuscool
Senior Member
Mesaje: 250
Membru din: Mie Sep 05, 2007 10:59 am
Localitate: Constanta
Contact:

Mesajde zeuscool » Sâm Apr 21, 2012 6:13 pm

si eu ma intrebam la fel, ce fel de intrebari sunt astea puse de voi ...

dar hai sa continuam putin tema, poate iese ceva productiv

1. cat iti ia sa scrii urmatorul sir de caractere manual:
0123456789
si cat iti ia sa scrii urmatorul sir de caractere
[0-9]

Nota: presupunem ca scopul pentru care trebuie sa scriem acele caractere este atins de ambele exemple.

Teoretic ar trebui sa-ti ia primul sir timpul x, si al doilea sir timpul x/2, acum daca vezi unde e diferenta si nu ai o gandire conservatoare inseamna ca ai inteles.

Acum raspunsul la intrebarea ce este avansat: din punctul meu de vedere este avansat pentru ca necesita un nivel de intelegere mai ridicat in citirea sintaxei, intelegerea logicii si toate cele ...

Comparatie:
if ($a == $b) {
// Hai sa ne jucam
}
else {
// Hai sa nu ne mai jucam ca e nenea asta cu intrebarile rau
}
Am inteles din prima cum am vazut acest exemplu si l-am folosit de mii si mii de ori, e SIMPLU

sintaxa ($a==b) ? 'sa fim deschisi la minte':'sa nu fim deschisi la minte';
mie mi-a luat mult mai mult timp sa inteleg exact acest lucru, sa-l memorez, mult mai multe exemple am scris ca sa imi intre in cap toata smecheria. Dupa care lucrez cu mai multi programatori in mediul meu de lucru si multi dintre ei ma intreaba ce inseamna, dar niciunul nu m-a intrebat ce inseamna if else, nici macar editorul de continut nu m-a intrebat de if else, care nu are nici o treaba cu programarea, dar cand a vazut un cod cu $a ? $b : $c mi-a zis ca-s hacker. Trage concluzia, este avansat ori de cate ori ai incercat sa-ti explici ca nu este.

PS: mi-a fost dor de dispute cu 'voi' astia cu disputele. Prietena m-a intrebat: Iar te certi cu astia pe aici?
La care eu am zambit si mi-am zis in gand: Ma cert ma cert dar las' ca-mi place.

Un sfarsit de saptamana placut tuturor care au ajuns sa citeasca randul asta.
Follow me on (Da cu share, like, +1 sau ce mai stii !!!) sau comenteaza articolele, sugereaza etc, FII SOCIAL ... :) marianzburlea.com

Avatar utilizator
MihaiC
Senior Member
Mesaje: 1644
Membru din: Dum Mai 14, 2006 8:07 pm

Mesajde MihaiC » Sâm Apr 21, 2012 7:01 pm

Eu nu ma cert cu tine, doar intreb.
Ti se pare ca o sintaxa if else este ceva avansat ?
Dev @ oblio.eu

Avatar utilizator
socu
Senior Member
Mesaje: 470
Membru din: Mie Apr 22, 2009 11:05 pm
Localitate: Marghita

Mesajde socu » Dum Apr 22, 2012 12:14 am

<?php
$a && print $a; // outputs $a if $a is true

Lasand la o parte faptul cu "outputs true if true is true" simularea aia de if e ok cand vrei sa executi o instructiune simpla. Daca vreau ceva de genul

Cod: Selectaţi tot

if ($a) {
  while (...) {
     ...
  }
}
nu o sa o mai pot folosi.

Iti dau alt exemplu sa vezi ca nu scurteaza timpul de scriere:

Cod: Selectaţi tot

($a || $b) && print $c;

e echivalent cu

Cod: Selectaţi tot

if ($a || $b) print $c;

dar culmea e ca am scris acelasi numar de caractere. In varianta cu if se poate face debug mai usor si oricine intelege din prima ce vrei sa faci acolo.

Exemplul 2 e un rahat de cast, ce e asa avansat aici?
Si da, nu e "Initiate an object from an array" ci "Casting an array to object".

Pentru exemplul cu operatorul tarnar no comment. Nu stiam ca e asa avansat.


Teoretic ar trebui sa-ti ia primul sir timpul x, si al doilea sir timpul x/2, acum daca vezi unde e diferenta si nu ai o gandire conservatoare inseamna ca ai inteles.

Programarea nu tine de cat de repede scrii cod. Daca faci un calcul si ne spui cat timp pierdem "noi" (cei cu disputele) scriind caractere in plus poate ne convingi de importanta acelor secunde, daca nu atunci din postul tau ramane doar mirarea cu care ai descoperit niste lucruri "avansate" pe care multi dintre noi le stiau si le folosesc (mai putin prima tampenie cu simularea de if care e inutila).

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Dum Apr 22, 2012 10:07 am

recomand inainte sa inceapa cearta sa cititi si ce e pe aici http://www.phpromania.net/forum/viewtopic.php?t=21627

important e optimizarea codului, viteza lui de executie nu cate linii scriem...
o sa vedeti in acel topic ca unele sintaxe sunt mai rapide decat altele, desi la prima vedere pare invers...
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Avatar utilizator
zeuscool
Senior Member
Mesaje: 250
Membru din: Mie Sep 05, 2007 10:59 am
Localitate: Constanta
Contact:

Mesajde zeuscool » Dum Apr 22, 2012 6:09 pm

conservatorii la putere spun: NU NU, e gresit

in fine ... am avut ocazia sa stau de vorba cu oamni mai deschisi la minte si am zis sa impartasesc cunostintele

cum e vorba romaneasca ma doare la bascheti de voi care nu reusiti sa vedeti ca exista si altfel pentru ca nu va permite creierul, sunteti blocati si gata.

Concluzia unui om inteligent ar fi fost: am citit artilcolul acelsa si acum stiu ca:
o varianta este: if ($a) {functiaA();} else {functiaB();}
o alta varianta este: ($a) ? functiaA() : functiaB();

si cum scrii codul este alegera ta, NU-MI pasa de alegerea ta, imi pasa sa stii ca sunt 2-3 n variante si sa alegi singur cea pe care o vrei

mai pe scrurt democratie nah, nu comunism: sunt 10 variante, dar daca nu o folosesti pe aia care zicem noi, esti prost, te batem, iti dam amenda si te bagam si la puscarie;

ce ma mai distrez, asta e mai mult psihologie decat programare acum.
Follow me on (Da cu share, like, +1 sau ce mai stii !!!) sau comenteaza articolele, sugereaza etc, FII SOCIAL ... :) marianzburlea.com

Avatar utilizator
socu
Senior Member
Mesaje: 470
Membru din: Mie Apr 22, 2009 11:05 pm
Localitate: Marghita

Mesajde socu » Dum Apr 22, 2012 6:23 pm

Nu e nicio psihologie aici, am incercat sa-ti spunem ca nu e nimc avansat in ce ai scris si ca alea se invata de la bun inceput, de exemplu castul si operatorul ternar. Cat despre simularea de if se facea de foarte mult timp:

Cod: Selectaţi tot

$sel = mysql_query(...) OR die('...');

Bineinteles ca in loc de OR poti pune || (de fapt cred ca OR si AND se pastreaza pentru magariile de genu).

Nu am spus ca e gresit doar ca nu e nimic avansat in toata chestia asta oricat incerci tu sa o faci sa para.

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Dum Apr 22, 2012 6:28 pm

nu imi place tonul pe care l-ai abordat, noi am incercat sa iti spunem ca ceea ce zici tu ca e util nu e intotdeauna si optim, e ok si varianta abordata de tine dar nu e nimic nou.

inchid aici acest topic pentru ca deja se incepe atac la persoana si se ia pe aratura...
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.


Înapoi la “PHP Avansat”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 16 vizitatori