This shows you the differences between two versions of the page.
programare:coding-style [2020/10/07 15:46] dorinel.filip [Motivație] |
programare:coding-style [2025/09/29 19:31] (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) | + | * [[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> | ||
+ | |||
=== Coding Style checker === | === Coding Style checker === | ||
Line 228: | 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> | ||
Line 235: | 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> |