• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

Code Design

44
  • Publicat de Coss
  • în Tehnic
  • — 30 iul., 2009 at 10:41 pm

M-am gandit cateva metode cunoscute de mine pentru a scrie si a intelege mai usor codul. O aranjare buna si numele variabilelor puse sugestiv ajuta enorm de mult atunci cand ai multe linii de scris. Read this, and let’s comment !

Dupa cum stim cu totii, codul unui program nu trebuie sa arate frumos, dar trebuie sa fie usor de inteles si ordonat. Cum eu sunt o fiinta foarte ordonata si foarte bine pusa la punct cand vine vorba despre aspect, am decis sa evidentiez cateva moduri de a scrie cod si sa le pun in lumina pe cele mai avantajoase.

  • Instructiunile compuse

Cum arata un un fragment in aceasta forma ?

do
{cout<<"Scrie raspuns: ";cin>>s;
if (a+b==s)
{cout<<"Felicitari";break;
}
else
{cout<<"Pentru raspunsul corect apasa 1"<<endl;
cout<<"Daca vrei sa mai incerci apasa 0"<<endl;cin>>r;
if (r) cout<<"Raspuns corect: "<<a+b;
}
}
while (!r);

Si cum arata acesta ?

do
{
    cout<<"Scrie raspuns: ";cin>>s;
    if (a+b==s)
    {
           cout<<"Felicitari";
           break;
    }
    else
    {
          cout<<"Pentru raspunsul corect apasa 1"<<endl;
          cout<<"Daca vrei sa mai incerci apasa 0"<<endl;
          cin>>r;
         if (r) cout<<"Raspuns corect: "<<a+b;
     }
}while (!r);

Totul este mult mai ordonat, mai usor de inteles si mai repede de parcurs.

Exista mai multe tipuri de a incadra instructiunile din cadrul unei instructiuni compuse intre acolade:

if ( true )
{
// cod
}

Sau:

if ( true ) {
// cod
}

Altfel:

if ( true )
{
// cod
}

Poate:

if ( true )
{
// cod
}

Personal prefer ultima varianta, mi s epare cea mai ordonata dintre toate, iar cand citesc asa ochii imi umbla mai repede.

Taburile trebuie folosite la maxim, daca se poate spune asa. Ajuta foarte mult la aranjare, ulterior la  asezarea in pagina a liniilor daca este nevoie.

  • Nume de variabile sugestive si variabilele globale

Nu trebuie sa ne ferim sa punem nume unor variabile mai lungi de o litera sau 2. De exemplu daca dorim o variabila bool, ii putem pune chiar acest nume in loc de b/t/z etc. Pentru o variabila care retine o anumita pozitite putem alege denumirea poz, pentru un vector de pozitii poz[1000]. Pentru un vector in care vrem sa retinem anumite proprietati ale unui alt vector putem alege numele gasit[1000].

Pentru fisiere putem lucra cu fin sau fout, eu folosesc f pentru intrare si g pentru iesire; asa m-am obisnuit. 😀 Totul tine de adaptare sau de stilul propriu.

Citeam acum cateva zile un sfat de la Andrei M. legat de variabilele globale. Eu nu declaram deloc variabile globale pana atunci, le punem doar in int main(). El spunea ca trebuie scrise cu majuscule. I-am urmat indicatia si mi-am dat seama ca este mult mai bine asa, ca ma ajuta foarte mult. Este un sfat util pe acre as dori sa-l mai mentionez o data aici. 🙂

long long N,K,P,S;

Totusi,am personalizat un pic si declar global tot, dar cu majuscule numai ce mi se da in cerinta. De exemplu daca mi se dau numerele N si K, iar eu vreau sa folosesc un vector v[1000] si un contor i declar astfel:

unsigned int N,K;

int v[1000],i;

  • Despre functii …

Iarasi numele functiei trebuie sa fie sugetsiv, de exemplu daca vreau sa bag intr-o functie ciurul lui Erathostenes o voi numi ciur( ), pentru algoritmul lui Euclid voi folosi euclid( ), pentru verificarea unui numar prim utilizez poate prim( ). Ati priceput la ce ma refer.

Sa vedem acum cum aranjam instructiunile in corpul functiei …

Eu aranjez astfel,de fapt e o aranjare automat (lucrez pe devcpp, sub Windows) care imi place:

int prim(int n)
{
     int i,prime=1;
     for (i=2;i<=n/2;i++)
          if (n%i==0) {prime=0;break;}
     if (prime) return 0;
     else return 1;
}

Ati prins ideea. 😉

  • Instructiuni

Cand lucrez cu if-uri prefer sa am o aranjare de gen:

if (t==5) cout<<„bine”;

else cout<<„rau”;

La fel si in privinta while-urilor sau do…while-urilor. In ceea ce priveste for-urile:

for (i=0;i<n;i++)

cout<<„i=”<<i<<endl;

Cam atat am avut de spus, ca materiale auxiliare puteti consulta:

C Coding style article

Programming Styles

As vrea sa comentam impreuna, iar fiecare sa descrie modul lui de a scrie cod, sau sa dea alte sfaturi care ne-ar putea ajuta. Sper ca v-a placut articolul meu si sper sa inceapa cat mai curand vorbaria…:) Inchei cu un mic screenshot, sa vedeti cum lucrez eu …

Am tendinta sa pun in comentariu ceea ce nu-mi convine,dar as putea avea nevoie de acel ceva mai tarziu, de aceea nu-l sterg, il pun doar in comentariu. Folosesc // si nu /* …. */, mi se pare mai rapid asa. Am ramas la varianta albastra al devcpp-ului, cea care aduce cu Borland. Nu pentru ca mi-ar fi fost tare drag de Borland, caci mai aveam un pic ci-mi ieseau ochii intr-o noapte. Am ales asa pentru ca e mai dragut, mai finut (cred eu).

Apropo, lucreaza cineva in fullscreen? 🙂

P.S: Daca va intrebati cine m-a calit in felul asta, sa stiti ca am fost invatata de mica ( , ) cu disciplina. :)) Ce era pe capul meu in clasa a 6a la cod doamen dumnezeule ! Nu stiu cum puteam sa citesc,  profa m-a invatat cum sta treaba cu ordoanarea cu tab-uirea. 😀 La fel e si cu scrisul pe foaie, doamne aveam niste caiete la informatica, taieturi peste taieturi cu pixul, gogoloaie si tot feulul de prostii. Acum totul e ordonat, codul aranjat tot asa ca pe calculator, totul in creion, nicio taietura, impecabil, sters cu radiera. 😀 Thanks a lot for discipline, m. prof ! 🙂

Etichete: asezareC++codCode DesignfacilitatefuncţiiinstructiuniprogramareProgramming Stylestabutilvariabile globale

— Albulescu Cosmina a scris 223 articole

Nu există o descriere a autorului.

  • Articolul anterior Crack Windows 7
  • Articolul următor MySpace are propriul serviciu de e-mail

44 Comentarii

  1. miculprogramator spune:
    august 1, 2009 la 1:44 am

    Mersi pentru explicatii. Am invatat ceva util astazi. 😀

    Edit: Am terminat de citit articolul dat de Adrian despre stilurile de programare, este foarte bun. 😉

  2. Avadanei Andrei spune:
    august 1, 2009 la 11:24 am

    Datorita discutiilor aparute aici, am considerat ca este mai bine ca neclaritatile legate de subiecte mai „off-article” aici.O data cu WorldIT v2, acel articol va fi integrat mai bine in peisaj pentru a fi urmarit mai usor de cititori. 🙂

  3. Andrei Misarca spune:
    august 1, 2009 la 12:36 pm

    „In privinta debugger-ului, e esential sa stii sa folosesti unul.
    E important sa cunosti tehnicile uzuale de debugging (care nu se rezuma doar la folosirea unui debugger). In nici un caz, pentru un proiect mediu/mare nu vei putea substitui un debugger prin inserarea de printf-uri.
    Tehnica pe care o folosesti intra mai mult la categoria “logging”, care e de asemenea o componenta importanta in orice proiect real.”

    @adrian: Ai dreptate in ceea ce zici. Intr-un proiect mai mare este nevoie de debugger, dar in micile programele facute in timpul unui concurs este mai indicat sa nu folosesti. De ce? Foarte simplu, in concursurile de algoritmica, printre altele se testeaza si viteza de implementare. Daca te obisnuiesti sa faci debug un sfert de ora pentru fiecare trei linii de cod, dureaza o vesnicie pana finalizezi un program. Era o vorba care zicea ca o sursa bine scrisa se face „rapid, curat si fara debug”. Evident, in cazul in care lucrezi la un proiect mai mare se intampla sa mai apara greseli, motiv pentru care debuggingul este esential.
    Am auzit ca gdb este foarte bun pentru debug(personal eu nu stiu sa il folosesc, insa nici nu am avut mare nevoie de el pana acum).

  4. Cum sa sustii o prezentare corecta in cadrul unui concurs? | WorldIT spune:
    octombrie 24, 2009 la 11:28 pm

    […] atunci codul tau este organizat foarte bine. Poti incepe cu aceste sfaturile date de Cosmina privind designul codului sau prezentarea sustinuta de Valentin Stanciu la infoeducatie – Team […]

« Comentarii mai vechi

  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    [wp_rss_retriever url="https://rohacked.bit-sentinel.com/feed/" excerpt="none" items="5" read_more="false" new_window="true" thumbnail="false" cache="0"] RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • mai 2022
    L Ma Mi J V S D
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
    « dec.    
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • Tehnic
  • Code Design
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons