This shows you the differences between two versions of the page.
programare:coding-style [2022/01/11 02:03] darius.neatu [Convenție] |
programare:coding-style [2025/09/29 19:31] (current) darius.neatu [Convenție] |
||
---|---|---|---|
Line 2: | Line 2: | ||
**Responsabili:** | **Responsabili:** | ||
- | * [[neatudarius@gmail.com|Darius Neațu ]] (2018-2020) | + | * [[darius.neatu@upb.ro|Darius Neațu ]] (2018 - prezent) |
- | * [[ion_dorinel.filip@cti.pub.ro|Dorinel Filip]] (2018-2020) | + | * [[ion_dorinel.filip@upb.ro|Dorinel Filip]] (2018 - prezent) |
Line 38: | Line 38: | ||
Vom încerca să enumerăm lucrurile pe care trebuie să le aveți in vedere, apoi vom trece prin toate instrucțiunile limbajului C și vom da exemple. | Vom încerca să enumerăm lucrurile pe care trebuie să le aveți in vedere, apoi vom trece prin toate instrucțiunile limbajului C și vom da exemple. | ||
- | * Codul trebuie să fie: | + | Codul trebuie să fie: |
* **clar** și ** modularizat** | * **clar** și ** modularizat** | ||
* Codul se va împărți în componente astfel încât să existe o separație logică (ex. mai multe fișiere - sursă și header, mai mule funcții etc). Fiecare bucată elementară de logică va fi mutată într-o funcție (ceea ce permite și **reutilizarea** codului. Funcțiile care au ceva în comun (ex. funcții matematice) vor fi grupate. | * Codul se va împărți în componente astfel încât să existe o separație logică (ex. mai multe fișiere - sursă și header, mai mule funcții etc). Fiecare bucată elementară de logică va fi mutată într-o funcție (ceea ce permite și **reutilizarea** codului. Funcțiile care au ceva în comun (ex. funcții matematice) vor fi grupate. | ||
Line 145: | 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 154: | Line 155: | ||
<code c> | <code c> | ||
- | void clean_display() | + | void clean_display(void) |
{ | { | ||
... | ... | ||
Line 189: | 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 199: | 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 208: | Line 210: | ||
} | } | ||
// lasam o linie goala intre functii | // lasam o linie goala intre functii | ||
- | int main() | + | int main(void) |
{ | { | ||
... | ... | ||
Line 217: | 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> | ||
- | === Seria CA - Coding Style checker === | + | === 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. | + | 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. |
<note> | <note> | ||
Line 229: | 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/PCLP-CS-2024]]. |
</note> | </note> | ||