Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo-ca-cd:administrativ:coding_style_ide [2020/07/28 23:08]
127.0.0.1 external edit
poo-ca-cd:administrativ:coding_style_ide [2020/08/15 16:14] (current)
florin.mihalache
Line 1: Line 1:
-= Despre cod =+===== Despre cod =====
  
-== Code style ==+==== Code style ====
  
-Recomandăm coding style-ul [[:poo-ca-cd:https://​google.github.io/​styleguide/​javaguide.html|Google]] sau [[:poo-ca-cd:http://​www.oracle.com/​technetwork/​java/​codeconvtoc-136057.html|Oracle]].+Recomandăm coding style-ul [[https://​google.github.io/​styleguide/​javaguide.html|Google]] sau [[http://​www.oracle.com/​technetwork/​java/​codeconvtoc-136057.html|Oracle]].
  
 Păstrați consistența coding style-ului pentru fiecare temă (de exemplu nu folosiți într-o temă două stiluri diferite de a pune parantezele). Păstrați consistența coding style-ului pentru fiecare temă (de exemplu nu folosiți într-o temă două stiluri diferite de a pune parantezele).
Line 9: Line 9:
 /*Oricare ar fi coding style-ul vostru, rămâneți la el de-a lungul proiectului/​temei/​laboratorului. ​ /*Oricare ar fi coding style-ul vostru, rămâneți la el de-a lungul proiectului/​temei/​laboratorului. ​
 Disclaimer: stilul haotic nu se pune.*/ Disclaimer: stilul haotic nu se pune.*/
-== Recomandări ==+==== Recomandări ​====
  
-* camelCase pentru numele metodelor și variabilelor. CamelCase pentru numele claselor. +  ​* camelCase pentru numele metodelor și variabilelor. CamelCase pentru numele claselor. 
-* Liniile de cod nu ar trebui să depășească 80 sau 100 de caractere. Atunci când depășesc, "​spargerea"​ liniei de cod se face: +  * Liniile de cod nu ar trebui să depășească 80 sau 100 de caractere. Atunci când depășesc, "​spargerea"​ liniei de cod se face: 
-   ​* //​înainte//​ de operator +    * //​înainte//​ de operator 
-   ​* //după// un operator de atribuire +    * //după// un operator de atribuire 
-   ​* lăsați mai mult de patru spații pe linia următoare +    * lăsați mai mult de patru spații pe linia următoare 
-* Exemple pentru line breaks:+  * Exemple pentru line breaks:
  
 <code Java> <code Java>
Line 35: Line 35:
 }            ​ }            ​
 </​code>​ </​code>​
-* Nu folosiți import-uri wildcard (e.g. import java.util.*). Acestea încarcă namespace-ul și s-ar putea să aveți conflicte de denumiri (e.g java.util si java.awt ofera o interfata List, daca amandouă ar fi importate cu wildcard, atunci ar aparea conflict la folosirea interfeței List). În plus, dacă sunt folosite importuri fără wildcard, dependențele devin explicite, fiind mai ușor de observat. +  ​* Nu folosiți import-uri wildcard (e.g. import java.util.*). Acestea încarcă namespace-ul și s-ar putea să aveți conflicte de denumiri (e.g java.util si java.awt ofera o interfata List, daca amandouă ar fi importate cu wildcard, atunci ar aparea conflict la folosirea interfeței List). În plus, dacă sunt folosite importuri fără wildcard, dependențele devin explicite, fiind mai ușor de observat. 
-* **Javadoc-ul** se face pentru clase și membrii lor publici și protected. Pentru metode simple și cu un rol evident, de genul getters si setters, puteți omite Javadoc-ul. Nu este recomandată documentarea metodelor private deoarece expun informații care fie nu sunt necesare celor care utilizează clasa respectivă,​ fie pot fi exploatate în mod malițios (e.g. breșe de securitate). +  * **Javadoc-ul** se face pentru clase și membrii lor publici și protected. Pentru metode simple și cu un rol evident, de genul getters si setters, puteți omite Javadoc-ul. Nu este recomandată documentarea metodelor private deoarece expun informații care fie nu sunt necesare celor care utilizează clasa respectivă,​ fie pot fi exploatate în mod malițios (e.g. breșe de securitate). 
-* Nu este recomandată declararea mai multor variabile pe aceeași linie (e.g. int a, b[], c;) +  * Nu este recomandată declararea mai multor variabile pe aceeași linie (e.g. int a, b[], c;) 
-* Puneți adnotarea @override pentru metodele suprascrise ([[:poo-ca-cd:http://​stackoverflow.com/​questions/​94361/​when-do-you-use-javas-override-annotation-and-why|exemple de cazuri în care este utilă]]).+  * Puneți adnotarea @override pentru metodele suprascrise ([[http://​stackoverflow.com/​questions/​94361/​when-do-you-use-javas-override-annotation-and-why|exemple de cazuri în care este utilă]]).
  
-== Recomandări Javadoc ==+==== Recomandări Javadoc ​====
  
 // Trebuie să pun javadoc pentru toate clasele și membrii lor? // // Trebuie să pun javadoc pentru toate clasele și membrii lor? //
Line 46: Line 46:
 Javadoc-ul se face in general pentru clase și membrii lor publici și protected. Javadoc-ul se face in general pentru clase și membrii lor publici și protected.
  
-* Pentru metode simple și cu un rol evident, de genul //getters// si //​setters//,​ puteți __omite__ Javadoc-ul.  +  ​* Pentru metode simple și cu un rol evident, de genul //getters// si //​setters//,​ puteți __omite__ Javadoc-ul.  
-* Pentru metodele private ... depinde de situație. In general nu este recomandată documentarea metodelor private deoarece expun informații care fie nu sunt necesare celor care utilizează clasa respectivă,​ fie pot fi exploatate în mod malițios (e.g. breșe de securitate). Este insa util de documentat si metodele private pentru o înțelegere mai ușoară a codului de către dezvoltatorii lui, dar în acel caz trebuie avut grijă să nu fie generate fișisierele html și pentru modificatorul '​private'​.+  * Pentru metodele private ... depinde de situație. In general nu este recomandată documentarea metodelor private deoarece expun informații care fie nu sunt necesare celor care utilizează clasa respectivă,​ fie pot fi exploatate în mod malițios (e.g. breșe de securitate). Este insa util de documentat si metodele private pentru o înțelegere mai ușoară a codului de către dezvoltatorii lui, dar în acel caz trebuie avut grijă să nu fie generate fișisierele html și pentru modificatorul '​private'​.
  
 // Există multe taguri @..., care sunt cele mai folosite și utile? // // Există multe taguri @..., care sunt cele mai folosite și utile? //
-* @param și @return le folosiți pentru parametrii și variablele returnate. Dacă scopul lor este evident, nu este necesar să le puneți +  ​* @param și @return le folosiți pentru parametrii și variablele returnate. Dacă scopul lor este evident, nu este necesar să le puneți 
-* @author - în javadoc-ul claselor, puteți configura IDE-ul să vi-l genereze +  * @author - în javadoc-ul claselor, puteți configura IDE-ul să vi-l genereze 
-* {@inheritDoc} - pentru a copia documentația metodei suprascrise +  * {@inheritDoc} - pentru a copia documentația metodei suprascrise 
-* @link și @ see - o comparație foarte clară: [[:poo-ca-cd:https://​stackoverflow.com/​a/​10097249|link]]+  * @link și @ see - o comparație foarte clară: [[https://​stackoverflow.com/​a/​10097249|link]]
  
 /* /*
 Adaugare cheetsheet IDE eclipse, IDE Jetbrains Adaugare cheetsheet IDE eclipse, IDE Jetbrains
 */ */
poo-ca-cd/administrativ/coding_style_ide.1595966902.txt.gz · Last modified: 2020/08/15 16:14 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0