Imenovanja u Java okruženju: Difference between revisions

10.11.2025 Uroš | 14.11.2025

Uroš (talk | contribs)
No edit summary
Uroš (talk | contribs)
No edit summary
Line 41: Line 41:


== Varijable i konstante ==
== Varijable i konstante ==
wwwwwwwwwwwwwwww
=== 1. Lokalne varijable i parametri ===
'''Format: camelCase'''<br />
'''stil: imenica koja opisuje podatak'''<br />
 
'''Dobro'''<br />
String username;<br />
Integer userId;<br />
List<Firm> availableFirms;<br />
LocalDateTime createdAt;<br />
boolean isActive.<br />
 
'''Loše'''<br />
String Username;<br />
String usr;<br />
String strUsername;<br />
String user_name.<br />
 
==== Česte konvencije: ====
'''ID varijable'''<br />
Long userId;<br />
Integer firmId;<br />
Long accountId.<br />
 
'''Kolekcije (uvek množina)'''<br />
List<User> users;<br />
Set<Integer> firmIds;<br />
Map<String, User> userMap.<br />
 
'''Boolean varijable (pitanje ili stanje)'''<br />
boolean isActive;<br />
boolean hasAccess;<br />
boolean canDelete;<br />
boolean shouldValidate.<br />
 
'''DTO/Request objekti'''<br />
LoginRequest loginRequest;<br />
CreateUserRequest createRequest;<br />
BulkUserCreateRequest bulkRequest.<br />
 
'''Response objekti'''<br />
LoginResponse loginResponse;<br />
UserResponse userResponse.<br />
 
=== 2. Instance varijable (fields) ===
=== 3. Static final konstante ===
=== 4. Enum konstante ===
 


== Paketi ==
== Paketi ==

Revision as of 15:53, 10 November 2025


Vreme?
Obavezno dodati kratki opis sadržaja i vreme {{abstract|txt=vaš tekst|min=koliko minuta}}


Test prve strane

Opšta pravila

  1. Koristimo engleski jezik – svi nazivi moraju biti na engleskom
  2. Deskripcija obavezna – naziv treba jasno da opisuje šta klasa/metoda radi
  3. Izbegavanje skraćenica – osim opštih (ID, DTO, URL, HTTP)
  4. Izbegavati nepotrebne reči – izbeći dodavanje (myClass, TheClass)

CamelCase Konvencije

  1. PascalCase (UpperCamelCase) – UserService, AuthenticationController
  2. camelCase (lowerCamelCase) – userName, calculateTotal

Dužina imenovanja

Element Idealno (cilj) Gornja granica Napomene
Naziv paketa 1-3 kratka segmenta 4-5 segmenata com.balans.auth.services ✅; izbegavati dublje hijerarhije
Klasa/Interfejs ≤ 20-25 karaktera ≤ 40-50 AuthenticationService ✅; CgaBulkOperationService → CgaBulkService
Metoda ≤ 20-30 karaktera ≤ 50-60 Glagol + objekat: findByUsername, issueFirmToken
Varijabla ≤ 15-20 karaktera ≤ 30 Kratko i jasno: attemptCount, accessibleFirms
Konstanta ≤ 25-30 karaktera ≤ 40-50 TOKEN_EXPIRY_DURATION, MAX_LOGIN_ATTEMPTS


Tretiranje akronima

fghtfng

Klase i interfejsi

fgnfgn

Metode

eeeeeeeeeeee

Varijable i konstante

1. Lokalne varijable i parametri

Format: camelCase
stil: imenica koja opisuje podatak

Dobro
String username;
Integer userId;
List<Firm> availableFirms;
LocalDateTime createdAt;
boolean isActive.

Loše
String Username;
String usr;
String strUsername;
String user_name.

Česte konvencije:

ID varijable
Long userId;
Integer firmId;
Long accountId.

Kolekcije (uvek množina)
List<User> users;
Set<Integer> firmIds;
Map<String, User> userMap.

Boolean varijable (pitanje ili stanje)
boolean isActive;
boolean hasAccess;
boolean canDelete;
boolean shouldValidate.

DTO/Request objekti
LoginRequest loginRequest;
CreateUserRequest createRequest;
BulkUserCreateRequest bulkRequest.

Response objekti
LoginResponse loginResponse;
UserResponse userResponse.

2. Instance varijable (fields)

3. Static final konstante

4. Enum konstante

Paketi

erfvsvsvrvr

Primeri

ryjgjmugdhmn