Salut!
Am ajuns la nivelul la care pot să fac o aplicație web mică de la 0. Problema este că nu știu cum să structurez codul, nu știu cum ar trebui să arate pentru a fi ușor de întreținut și pentru a evita scrisul de cod inutil. Vreau să știu cum se scrie codul într-o companie, cum arată un proiect complet, ca atunci când este prezentat clientului. Ar putea cineva să îmi dea exemple de proiecte de pe Github care sunt la nivelul acela și din care aș putea învăța? Limbajul poate fi PHP, Javascript, C#, Python și Java.
Am facut un pic debug in nopCommerce(magazin online, shopping cart), sa vad cum se instaleaza, e facut ca la carte, dar e prea mare pentru un incepator, ASP.NET MVC, C#, SQL Server, MySQL, PostgreSQL, consuma resurse multe sa il rulezi.
De vreo 4 ani se cauta Angular cu TypeScript si .NET Core, pentru proiecte greenfield, dar nu stiu un exemplu de proiect open source, pe proiecte brownfield gasesti tehnologii mai vechi.
Adevărat, cam mare pentru mine. Dacă nu o să mai apară alte recomandări o să încerc cu el. Mulțumesc!
Salut!
Proiectele difera mult in general in functie de dimensiune, limbaj / ecosistem si arhitectura aleasa.
Am un proiectel mic spre mediu pe GitHub, scris in React + TypeScript, poti arunca un ochi poate prinzi ceva idei: GitHub - dandumitru27/Numerodia: A daily in-browser game developed with React, TypeScript, and Tailwind CSS. Guess the daily number in four tries, with helpful hints along the way.
Nu e cod perfect, dar e ceva complet functional.
Câte bordeie atâtea obiceie.
E plin github-ul de proiecte open source sau librarii oficiale de API-uri (ex amazon aws). Personal nu cred ca te ajuta cu ceva o astfel de experienta.
In practica vei ajunge in situatia in care faci cel mai organizat cod/proiect din lume si vine clientul si spune “ca s-a schimbat schimbarea” si vrand nevrand ajungi la un refactoring masiv care-ti strica toata organizarea.
Daca esti stapan pe limbaj, nu-ti fa griji! La o angajare noua vei avea cel mai probabil un mentor cu care vei face o perioada pair-programming si te va ghida respectivul catre “cultura codului” din compania respectiva.
Iar daca e vorba de proiecte de freelance, pe acei clienti ii intereseaza mai mult rezultatul final/functionalitatea decat structura codului.
Caută o idee în care să crezi sau ceva (aparent) inutil dar care te pasionează. Începe să scrii cod și restul vine de la sine.
Am dat chiar azi peste o librărie de background removal în python. Aproape izbitor de simplă ca și arhitectură, dar utilă.
Principiile OOP sunt utile, dar trebuie îmbinate cu contextul aplicației ca să eviți over-engineering.
Limbajul ca limbajul, e partea usoara dar framework-urile.
Nu sunt neaparat proiecte complete, insa sigur gasesti ceva ce o sa iti placa
este contul meu de Github
coronavirus-app este o aplicatie cu spring boot unde afisam date despre covid
code-with-quarkus-profanity - un microserviciu de detectei de bad words facut cu Quarkus
Mi-a placut sa experimentez si nu am dus pana la capat. Sufucient cat sa imi ud mana cu tehnologia respectiva.
Am înțeles, o să mă uit peste el. Mulțumesc!
Mă bazez pe faptul că după ce mă angajez o să am pe cineva care să mă ajute cu așa ceva. Mă gândeam că sunt niște reguli de bază care să mă ajute până atunci.
Am încercat asta, problema e că mă uit la codul altor oameni și e diferență destul de mare între cum scriu eu codul și cum scriu ei. Codul lor este mult mai organizat, mă gândesc că e mai ok așa cum o fac ei. Am învățat din codul lor, dar nu mi se pare că ajunge doar un script mic.
O să arunc o privire. Mersi!
Nu te compara cu alții, doar inspiră-te. Învață design patterns și design principles. Pe măsură ce codul tău crește în complexitate începi să înțelegi lucrurile. Învață nu numai cum se implementează un principiu sau un pattern, ci și de ce. Unele sunt overkill în unele contexte, altele sunt recomandate în anumite contexte, dar nu te împiedică nimic să le folosești după cum consideri. Dacă este greșit… La un moment dat îți vei da seama și înțelege de ce. Câștigul este uneori mai mare decât dacă ai fi implementat “bine” de la început.
Scrie codul să funcționeze și apoi fă-l OOP. Sunt o grămadă de moduri în care poți implementa o funcționalitate în funcție de ceea ce vrei pe termen lung. Nu te teme să scrii cod aiurea dar care funcționează. Te poți întoarce oricând să-l îmbunătățești.