This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
administrativ:coding_style_ide [2017/11/27 23:55] Adriana Draghici [Recomandări] |
administrativ:coding_style_ide [2019/10/19 20:31] (current) Adriana Draghici |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | = Despre cod și IDE = | + | = Despre cod = |
== Code style == | == Code style == | ||
Line 41: | Line 41: | ||
== Recomandări Javadoc == | == Recomandări Javadoc == | ||
- | * **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. | ||
- | * 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șisierel html și pentru modificatorul 'private'. | ||
- | == IDE: Eclipse == | + | // Trebuie să pun javadoc pentru toate clasele și membrii lor? // |
- | Pe stațiile din laborator vom avea instalat Eclipse. Bineînțeles, sunteți liberi să folosiți orice tool de dezvoltare (Netbeans, IntelliJ, Notepad/Vim + make, etc), dar pentru ce avem nevoie, Eclipse este arhisuficient. | + | Javadoc-ul se face in general pentru clase și membrii lor publici și protected. |
- | Prezentăm aici câteva operații frecvente și utile pe care le puteți face rapid: | + | * 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'. | ||
- | * **contextual autocomplete: Ctrl-Space** | + | // Există multe taguri @..., care sunt cele mai folosite și utile? // |
- | * the single most used IDE hotkey | + | * @param și @return le folosiți pentru parametrii și variablele returnate. Dacă scopul lor este evident, nu este necesar să le puneți |
- | * autocompletează nume de variabile, metode, parametri, clase | + | * @author - în javadoc-ul claselor, puteți configura IDE-ul să vi-l genereze |
- | * puteți suprascrie metode e.g. ''new Runnable() { /* ru(ctrl-space, enter aici) */ }'' | + | * {@inheritDoc} - pentru a copia documentația metodei suprascrise |
- | * generați metodă main e.g. ''ma(ctrl-space, enter)'' | + | * @link și @ see - o comparație foarte clară: [[https://stackoverflow.com/a/10097249|link]] |
- | * **auto-resolver: Ctrl-1** | + | |
- | * nu merge întotdeauna, dar e destul de deștept | + | /* |
- | * **toggle line comment: Ctrl-/** | + | Adaugare cheetsheet IDE eclipse, IDE Jetbrains |
- | * puteți face pe mai multe linii, nu trebuie să fie selectate complet | + | */ |
- | * linia curentă poate să nu fie selectată | + | |
- | * **line delete: Ctrl-D** | + | |
- | * la fel ca la Ctrl-/ | + | |
- | * **optimize imports: Ctrl-Shift-O** | + | |
- | * auto import pentru exact ce aveți nevoie - folosiți-l la greu | + | |
- | * **auto-indent: Ctrl-I** | + | |
- | * **indentare: selectat linii, Tab (indent) / Shift-Tab (unindent)** | + | |
- | * **auto format: Ctrl-Shift-F** | + | |
- | * aveți grijă să vă configurați formatter-ul | + | |
- | * Window - Preferences - Java - Code Style - Formatter, apoi New... , plecați de la formatter-ul default (Eclipse/built-in) și modificați/adăugați regulile voastre (e.g. liniile la 80 chars) | + | |
- | * **mutat cod: selectați linii (sau pe linia curentă), apăsat Alt + săgeți sus/jos** | + | |
- | * **navigare către clasă: Ctrl-Shift-T** | + | |
- | * **navigare în clasă, la o metodă: Ctrl-O** | + |