Scris pe

Validare CNP in Ruby

Daca tot m-am jucat cu validarea CNP-ului in PHP, am facut un pachet asemanator pentru Ruby on Rails – un gem. Mai jos aveti si un tutorial video cum sa folositi acest gem. class HomeController < ApplicationController def index if Cnp.valid? '1930101021162' render text: 'Cnp-ul este valid' else render text: 'Invalid' end end end
Iosua says:
Nu inteleg ce spune

Salutare, bine ati venit pe blogul lui Tata! Sa stiti ca aici nu o sa gasiti desene, v-am avertizat!

Iosua Pacurar

Scris pe

Ruby on Rails vs PHP

Pe cand eram inca in clasa a 6-a am vrut sa invat PHP. Ma jucasem cu ceva template-uri gratuite luate de pe internet si am vazut ca imi place sa “fac site-uri” (chiar daca nu le faceam eu ci modificam ceva ce deja exista). Apoi am zis ca nu este destul atata. Tin minte si...

E tarziu in noapte, ora 00:30. Am avut de modificat ceva la un site cu care nu am legatura de obicei. Si am stat putin pana sa gasesc fisierul care trebuia editat defapt. SI de aici a venit ideea acestui post. Intrebarea pe care o pun eu si tot eu voi incerca sa ii dau un raspuns este: cum sa scrii cod original dar structurat?

Ideea e urmatoarea.. se poate sa fii un tip care nu iti place sa te conformezi tiparelor (CMS-uri, Framework-uri etc). Foarte bine, aici intervine crearea unui cod original – un CMS custom pentru un client anume, un framework personal si asa mai departe. Principiul de la care ar trebui sa pleci este nu re-inventa roata! Multi oameni au stat si au gandit care ar fi cele mai bune “tipare” de lucru cu un cod. De ce sa ignoram munca acestor oameni? Daca exista tiparul MVC (Model-view-controller), de ce sa faci o alta structura a aplicatiei tale? Am stat 5 minute ca sa gasesc un fisier care trebuia editat – era plasat intr-un director in care era foarte greu de ajuns + ca avea nume ciudat, deloc reprezentativ. Alege sa lucrezi curat! Pune intr-un folder toate bucatile de cod care au acelasi scop, da nume reprezentative fisierelor (daca un fisier este pentru “galerie foto” nu ii da numele “module41324.php” ci “galerieFoto.php”. E mult mai usor de gasit astfel.), separa logica de prezentare (controller+view) si asa mai departe.

Daca un framework asa de fain precum Yii a fost creat, de ce sa nu folosim asta? Gandeste-te: te scuteste de mult timp si scrii cod in mod mult mai organizat.

Un alt principiu si ultimul pe care o sa il zic in postarea aceasta (voi mai scrie pe aceasta tema, dar e tarziu si nu mai pot sta acum) este nu esti singur! Poate ca momentan esti singurul care administrezi un website, dar ce se intampla daca esti pus pe tusa si altul este numit noul developer? Saracul va sta 10.000 de ani pana sa inteleaga cum ai gandit tu aplicatia si/sau site-ul. Gandeste-te atunci cand scrii cod ca poate intr-o zi un alt om va folosi codul tau si trebuie sa fie cat mai usor de inteles. De aia e bine sa te supui uneori unor standarde. Pe Github, unele proiecte nu iti accepta modificarea in cod daca nu te supui unor standarde de scris cod. SI in general aceste standarde sunt peste tot cam la fel (un exemplu ar fi ca numele variabilelor sa fie scris ca si camelCase). Aici gasesti cateva standarde la care trebuie sa te supui daca vrei sa scrii cod pentru Rails. Si exemplele pot continua.

Deci ideea pe care vreau astazi sa o subliniez este: nu re-inventa roata! Aproape tot ce vrei tu sa faci a fost deja facut de altcineva intr-un mod eficient si bun. Nu fi ignorant si foloseste ceea ce deja exista in mare parte (asta nu inseamna sa nu fi original, voi mai scrie despre asta). Apoi in cele din urma cand trebuie sa predai codul tau altui programator, acesta trebuie sa fie deja familiar macar cu structura aplicatiei, daca nu si cu unele standarde de programat.

Pana data viitoare cand ne auzim pe acest subiect, ce va pot ura decat… scrieti cod eficient, structurat si corect!

 

Copyright © 2024 toate drepturile
nu sunt
rezervate. Faceti ce vreti, e o tara libera.
Cred ca nu mai are rost sa zic, dar tema e facuta de mine cu Tailwind CSS. Gasesti codul sursa aici.
Inca folosesc WordpPess 🧡. Tema e insa custom Laravel 😎.