This shows you the differences between two versions of the page.
programare:coding-style [2020/10/07 15:28] darius.neatu [Convenție] |
programare:coding-style [2024/11/05 16:33] (current) darius.neatu [Convenție] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Coding style CA ===== | + | ===== Coding style example ===== |
**Responsabili:** | **Responsabili:** | ||
- | * [[neatudarius@gmail.com|Darius Neațu ]] (2018-2020) | + | * [[neatudarius@gmail.com|Darius Neațu ]] (2018-2024) |
- | * [[ion_dorinel.filip@cti.pub.ro|Dorinel Filip]] (2018-2020) | + | * [[ion_dorinel.filip@cti.pub.ro|Dorinel Filip]] (2018-2024) |
Line 20: | Line 20: | ||
**Toate** scenariile de mai sus reprezintă exemple care v-ar putea afecta în sens negativ, de aceea la materia PC (și multe altele în facultate) vi se va impune să urmăriți anumite aspecte care să vă obisnuiască încă de la început, când lucrurile sunt foarte simple, astfel încât aceste deprinderi să intre în modul vostru normal de a coda. | **Toate** scenariile de mai sus reprezintă exemple care v-ar putea afecta în sens negativ, de aceea la materia PC (și multe altele în facultate) vi se va impune să urmăriți anumite aspecte care să vă obisnuiască încă de la început, când lucrurile sunt foarte simple, astfel încât aceste deprinderi să intre în modul vostru normal de a coda. | ||
+ | |||
+ | <note warning>Pe lângă respectarea convenției (a coding style-ului), este important să scriem cod **reutilizabil** și **ușor de întreținut**. | ||
+ | |||
+ | În mare, acest lucru se obține prin **modularizarea bună a codului** și prin **evitarea unor practici nerecomandate** care fac codul greu de înțeles și întrețnut. | ||
+ | |||
+ | În consecință, este **nerecomandată** utilizarea **variabilelor globale** și a **salturilor nedisciplinate** (goto). | ||
+ | |||
+ | Utilizarea celor 2 de mai sus în cazuri în care nu sunt absolut necesare, precum și scrierea de funcții nejustificat de lungi vor atrage după sine depunctarea în cadrul temelor de casă.</note> | ||
==== Convenție ==== | ==== Convenție ==== | ||
Line 137: | Line 145: | ||
== functions == | == functions == | ||
+ | |||
Analizați exemplele de funcții de mai jos și observați că. | Analizați exemplele de funcții de mai jos și observați că. | ||
* numele funcțiilor e sugestiv | * numele funcțiilor e sugestiv | ||
Line 146: | Line 155: | ||
<code c> | <code c> | ||
- | void clean_display() | + | void clean_display(void) |
{ | { | ||
... | ... | ||
Line 181: | Line 190: | ||
== programs == | == programs == | ||
+ | |||
Fie următorul șablon de program. Analizați: | Fie următorul șablon de program. Analizați: | ||
- | * cum scriem în fișier mai multe funcții | + | * cum scriem în fișier mai multe funcții |
- | * care e structura generală a unui program | + | * care e structura generală a unui program |
<code c> | <code c> | ||
Line 191: | Line 201: | ||
#define NMAX 100 // nu vom declara tablouri cu int v[100]; ci vom folosi un macro pentru dimensiune | #define NMAX 100 // nu vom declara tablouri cu int v[100]; ci vom folosi un macro pentru dimensiune | ||
// linie goala | // linie goala | ||
- | void dummy() | + | void dummy(void) |
{ | { | ||
} | } | ||
Line 200: | Line 210: | ||
} | } | ||
// lasam o linie goala intre functii | // lasam o linie goala intre functii | ||
- | int main() | + | int main(void) |
{ | { | ||
... | ... | ||
Line 209: | Line 219: | ||
<note> | <note> | ||
- | Evident ca atunci cand fișirul 'main.c' devine prea mare, este nevoie să grupăm componentele după logică și să le mutăm în alte fișiere sursă C/headere. | + | Evident ca atunci când fișierul 'main.c' devine prea mare, este nevoie să grupăm componentele după logică și să le mutăm în alte fișiere sursă C/headere. |
</note> | </note> | ||
- | === Coding Style checker === | + | |
- | Pentru a vă ajuta la teme și a evita eventualele depunctări pentru chestii standard, echipa vă pune la dispoziție scriptul *cs.sh*. Acesta va fi folosit la teme pentru a depuncta în mod automat cele mai frecvente erori de coding style. | + | === Seria CA - Coding Style checker === |
+ | Pentru a vă ajuta la teme și a evita eventualele depunctări pentru chestii standard, echipa vă pune la dispoziție scriptul *cs.sh*. Acesta va fi folosit la teme pentru a depuncta în mod automat cele mai frecvente erori de coding style la seria CA. | ||
<note> | <note> | ||
Line 220: | Line 231: | ||
<note> | <note> | ||
- | Checkerul de coding style se găsește la adresa [[https://cutt.ly/pc20-cs|https://cutt.ly/pc20-cs]]. | + | Checkerul de coding style se găsește la adresa [[https://cutt.ly/PCLP1-CA-CS-2024]]. |
</note> | </note> | ||
Line 227: | Line 238: | ||
</note> | </note> | ||
- | === Concluzie - seria CA=== | ||
- | Este foarte important să avem un coding style OK. Această pagină vine în ajutorul vostru. | ||
- | |||
- | <note warning> | ||
- | Scriptul prezentat pe această pagină va fi folosit pentru verificarea automată a temelor de la **seria CA**a coding style-ului la teme. În caz ca apar erori se va penaliza conform mentiunilor din enunt. | ||
- | |||
- | </note> |