Framework public sau custom?

Continuarea discuției de aici


Lol! Double lol.

Slavă Cerului că sunt plătit per oră, cred că $15 000 am scos doar din a identifica toate chichițele nepermise de un framework.

Tu trebuie sa fii foarte bogat din ce am citit pe forum pana acum.

4 Likes

Offtopic
Iti dai seama cat ai castiga daca ai folosi limbajul de asamblare sau in cel mai bun caz cgi in C cu html ca in anii 90 ! :))

Relativ. Nu mă sperie 1000 - 2000 de euro, dar probleme am la greu la fel ca toată lumea. Acuma trebuie să repar mașina care a fost lovită, dar pe banii mei. Ca reprezentanța auto (mașina încă e în garanție) nu vrea să se complice cu asiguratorul.

CASCO a zis pas, așa că o plătesc așa o asigurare degeaba. Mai bine aș merge doar cu Uber + abonament de autobuz + trotineta electrică și aș fi mult mai câștigat.

Cât despre framework-uri, atâta se ridică în slăvi ce mișto sunt. Dacă ai ceva de făcut mai mult decât un SELECT cu JOIN (de genul să aduci date din mai multe tabele și pe urmă să aplici o formulă matematică asupra datelor, mai greu cu ORM-uri).

De asemenea avem ceva făcut în versiunea 2 a framework-ului, lucrăm de un an să le trecem la versiunea 3. Nici nu cred că va fi gata treaba că ajunge la versiunea 4.

Toți meșterii ăștia de „developeri” vor numai să ia soluții gata-făcute. Ei bine pentru framework-ul nu prea sunt așa că trebuie să le scrie ei. Durează luni întregi și trebuie să stau o zi - două pe săptămână să fac code-review și să le tot atrag atenția. Ei folosesc Notepad++ așa că nu sunt avertizați ce urmează să fie „deprecated”.

Aia e o chestie în care aș lucra și aș fi mai mulțumit.

Nu că C programming pe Linux e ceva plăcut. Am de compilat un amărât de wallet pentru ceva crypto-monedă care abia merge pe Ubuntu. Nu au rezolvat nici în 2018 problema dependențelor. Ca să nu mai zic că toate wallet-urile astea sunt bazate, cred, pe trunchiul comun al Bitcoin-ului care are nevoie de ceva Berkeley DB versiunea 4.8. Doar că versiunile curente sunt 5.1, 5.2, acum văd că e 6.2. Dar nimeni nu s-a omorât să actualizeze aplicația - ciudat la câți bani sunt în piața valutelor electronice.

1 Like

Nu e chiar de gluma. C++ (posibil chiar C) e folosit puternic pe backend de catre jucatorii mari. Aia mai amarati care nu fac economii de zeci de mii/sute de mii de USD la factura de curent daca optimizeaza ceva, se multumesc cu php (etc…).

Si ca sa dau un exemplu ales aproximativ la intamplare de framework C++: https://www.webtoolkit.eu/wt/features

Adaug votul meu pentru codeigniter. Avantaje ar fi ca e destul de lightweight si se invata usor.

1 Like

@anon31094663 sa stii ca am mai vazut acel Wt. M-am uitat pe niste exemple de cod si mi s-au parut dragute si isor de inteles pt cineva(eu) care nu stiu decat din amintiri c++.
Printr-un curs am auzit de acest cgi si am vazut pagini html generate cu C.

C++ este folosit la Google in serviciile de backend. Asta o stiu din sursa sigura :smiley:
Alaturi de alte limbaje

Exista un framework PHP, Phalcon scris in C si PHP.
S-a discutat si aici despre el

1 Like

Iti dai seama ca aveam in gand si google cand am scris. Si eu stiu din sursa sigura ca folosesc C++. Tot din sursa sigura stiu ca si facebook foloseste C++. Orice firma care are o gramada de servere care consuma energie de rup, o sa ia in considerare asa ceva.

Phalcon e intr-adevar o optiune interesanta.

1 Like

Nu e vorba de asta, ci de a evita reinventarea roții. Plus de asta, un cod dintr-un framework este testat de zeci de mii de developeri in fiecare zi, unit tested, sansa ca tu sa scrii ceva la fel de bun si testat este foarte mica.

3 Likes

Stiu ca Symphony are componente pe care le poti folosi independent.
:smiley:

Aș îndrăznii să susțin chiar mai mult și să mă situez diametral opus de @RedGuard - daca scrii cod pentru producție fara ajutorul unui framework și a unui set de librarii ajutătoare faci ceva greșit și/sau esti amator. Sigur, există excepții - librăriile “de baza” (libc, pcre etc), cod pe platforme stricte (pacemaker-uri, embedded in general etc) etc. Pentru restul ai deja un bagaj mare de unelte pe care să-l folosești, cu toate avantajele enumerate și încă pe atât. Sigur, sunt și dezavantajele, dar “programatorii reali nu folosesc X” nu e printre ele.

6 Likes

Ce scriu eu, ce se înțelege.

Framework-urile sunt bune, dar nu sunt pentru toată lumea. Și cum 90%++ de „programatori” nu știu cum să traseze o linie între două puncte, evident că nu se poate lucra, cu ei, pe framework-uri.

Cât despre reutilizabilitatea codului, aș vrea să întâlnesc ceva scris acuma un an-doi care merge. Un repository pe bitbucket fără actualizări din martie 2017 e ca mort.

Corolar: Vine un meșter de ăsta programator și începe să scrie în ceva framework. Scrie o oră, reîncarcă pagina și îi aruncă o excepție în ceva string.php din /core. Stă toată ziua să o depaneze. Vine un profesionist, se uită: băi, Controller e cu „C” mare.

Și, Doamne, mulți se-apucă (de programare) dar nu o termină în veci.

Am „colegi”, mare meșteri programatori, cum primesc ceva de lucru: Bună, ce faci? Păi acuma ies pe ușă, vrei să mă întrebi ceva? Ah, nu, nu.

În 2 minute apare pe canalul principal: Hei cutare, poți să mă ajuți cu task-ul ăsta.

Mereu! Întotdeauna. Și dacă fac un task singuri, pac ies 10 lucruri aiurea la un code-review.

Zău, în 12 ani nu cred că am pus o întrebare legat de ce aveam de făcut (cu excepția când nu aveam documentația API-ului/nu mergea o rută între servere).

3 Likes

Eu încă n-am văzut framework care să nu te facă să-ţi blestemi zilele. Aşa că mi-am băgat piciorul, am sacrificat nişte timp şi mi-am făcut un framework exact pe gustul meu :slight_smile:

3 Likes

I like this guy ^^^. He gets it. Câteva comentarii la o primă trecere în vedere a codului:

  • PHPDOC comments make it really cool.
  • if(condiție) e de fapt if (conditie) - un spațiu în plus, +2 la readability
  • fără operator ternar. ($x == 1) true:false; arată mai bine scris cu if ($x == 1) …
  • chiar dacă e o singură operație după if/foreach/while, se pune între acolade.
  • codul arată mai bine când acolada de start se pune pe linie nouă pentru clasă/metodă, dar pe aceeași linie pentru foreach/if/while/etc.
  • personal detest list($a, $b, $c) = $somearray. Prefer $a = $somearray[0], …

Idea e să faci codul cât mai ușor de citit pentru oameni, compilatorul/parseur-ul nu dă doi bani (și nici nu consumă timp) pe spații și acolade.

Cam așa aranjez eu codul:

5 Likes

Nu stiu unde si cu cine lucrezi dar nu pare un loc prea fericit. In cam toate postarile pe de o parte te plangi de calitatea programatorilor, pe de alta parte te “lauzi” cu cat castigi.
Sincer sa fiu, mi se pare ca esti putin frustrat de tool-urile si de oamenii cu care trebuie sa lucrezi. Nu inteleg, totusi, de ce ramai in aceasta situatie daca esti atat de bun pe cat pretinzi a fi.
/rant

Also, sunt de acord cu @horia141. Nu vad de ce ai pierde timp rescriind practic de la 0 tot ce iti ofera un framework si de ce ai vrea sa te expui la eventualele probleme de care te fereste utilizarea unui framework (si nici cine ti-ar permite sa faci asta intr-un proiect serios, dar asta e o alta discutie).

3 Likes

Da, de regulă nu ezit să fac codul cât se poate de explicit, dar uneori prefer concizia, dacă nu aduce vreun plus de valoare acolada sau if-ul suplimentar. Si prefer mereu acolada sa fie pe linia urmatoare, mi se pare ca sunt mai bine separate blocurile de cod. La fel, spatiile de dupa if/while/for imi dau impresia ca e prea imprastiat codul.

1 Like

Păi uite asta e diferența dintre framework personal și framework public. Dacă era public, s-ar putea să fi venit cineva să-ți sugereze să pui

if ( empty($flight) ) {
  return false;
}
... mai departe cu try/catch

Apoi, docblock poate fi redundant dacă folosești typehinting și niște nume intuitive pentru parametri. E.g. de ce ai pune $flightId când updateField(int $accommodationId ...) ar fi mai aproape de adevăr?

Mă rog, de gustibus :slight_smile:

1 Like

Well, that’s an understatement. Problema e că am ajuns la un maxim salarial prin Europa. Dacă e ceva entitate care să-mi dea 5 - 6 mii de euro pentru 6 ore sau mai puțin, I’m all for it.

Ah, și problema e că nu se găsesc programatori așa că e greu într-o firmă să fie și 2 foarte buni.


Metoda lucrează cu zboruri, documentația trebuie actualizată :stuck_out_tongue:

Mie îmi place să scriu comentarii și să le aliniez frumos. Arată profi. Rareori am văzut un repository cu niște comentarii frumoase. Mă rog, eu sunt plătit cu ora să le scriu, deci câștig niște bani scriind text de genul.

Și iată problema cea mai mare a comentariilor :slight_smile:

2 Likes

Comentariul ăla e fix 0.1% din documentația care trebuie actualizată, dar ce să faci când se pare că sunt singurul care știe engleză între toți indienii :stuck_out_tongue: