Table of Contents

Indicații generale teme

Codul vostru trebuie nu numai să “meargă”, ci și să fie ușor de citit/parcurs și fără potențiale erori (neverificate de sistemul de evaluare automată). Aveți mai jos câteva indicații pentru teme, împreună cu depunctările aferente pentru nerespectarea lor.

Recomandări

Listă depunctări

Funcționalitate

Structura codului

Portabilitate

Build

Mentenabilitate

Coding style

Cleanup

Documentație

README - how to

Organizare

Explicație pentru structura creată (sau soluția de ansamblu aleasă):

Obligatoriu:

Opțional:

Implementare

Cum se compilează și cum se rulează?

Bibliografie

Git

Link către repo-ul de git folosit pentru localizarea surselor

Ce să NU conțină un readme

Cele mai frecvente greșeli întâlnite în teme

Se preferă abordarea din primul bullet (DIE/assert). Dacă un apel low-level de sistem pică este indicată de cele mai multe ori o problemă mai adâncă la nivelul sistemului și preferăm un die general.

   /* Undeva într-un fișier .h */
   #define MAX_CMD_BUF_SIZE		256
 
   (...)
 
   /* Undeva în sursele .c unde avem nevoie de buffer */
   char cmd[MAX_CMD_BUF_SIZE];
 

Nu aruncați toată implementarea temei într-un singur fișier .c chiar dacă merge. Face imposibil de urmărit codul și pentru voi dar și pentru asistenți sau pentru cei care peste 5 ani vor citi codul vostru. Țineți minte următorul motto:

Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.

Sursa: http://wiki.c2.com/?CodeForTheMaintainer