👏 Preuzmi → Alibaba Java Development Manual
Kada govorim o planini Song, setim se Qiao Fenga i Murong Fua, i scene u kojoj su oni dvojica sa svojim očevima vodili veliku bitku u hramu Shaolin. Naravno, ono što mi je najviše ostalo u sećanju jeste onaj nezapaženi kaluđer koji mete dvorište, a onda iznenada svima zapne za oko. Ovog puta, izdanje „Songshan" Java Development Manuala koje je izašlo iz Alibaba-e na naslovnoj strani ima upravo takvog kaluđera sa metlom — pa, to je već moćno!
Hram Shaolin na planini Song nalazi se u gradu Dengfeng u provinciji Henan, sagrađen je devetnaeste godine ere Taihe dinastije Severni Wei i nosi naziv „prvi veličanstveni hram pod nebom". Šta to znači? Izdanje „Songshan" Java Development Manuala iz Alibaba-e dosad je najtežeg kalibra.
Prethodno izdanje zvano „Taishan" ažurirano je 22. aprila 2020. godine, i podelio sam ga sa svima čim je izašlo. Verujem da su ga čitaoci koji su ga pregledali svakako mnogo naučili. Na kraju krajeva, iako je „Alibaba Java Development Manual" svezak od samo nekoliko desetina strana, on uglavnom obrađuje tipične razvojske konvencije, programske standarde i najbolje prakse, i postao je razvojski standard koji šire sledi industrija.
Šta je onda novo izdanje uglavnom ažuriralo? Izdvojiću nekoliko ključnih tačaka i podeliti ih sa vama.
01. Dodato 14 pravila za front-end i back-end
Radio sam i na front-endu i na back-endu, pa ću izdvojiti nekoliko pravila koja smatram ključnim i preporučiti ih. Dobra pravila mogu frontend i backend inženjerima da uštede mnogo nepotrebnih problema tokom razvoja; pošto danas svi teže razdvajanju front-end i back-end, pri povezivanju interfejsa mora se poštovati određeni skup pravila, inače nastaju nepotrebne svađe.
- API za interakciju između front-end i back-end mora jasno definisati protokol, domen, putanju, metodu zahteva, sadržaj zahteva, statusni kod i telo odgovora.
- Interfejsi vezani za liste podataka na front-endu i back-endu, kada su prazni — odnosno kada nema podataka — treba da vrate prazan niz [] ili prazan skup {}, čime se izbegava provera na null.
- Kada server prijavi grešku, odgovor koji se vraća front-endu mora sadržati HTTP statusni kod, errorCode, errorMessage (radi lakšeg praćenja grešaka) i poruku za korisnika — ukupno četiri dela.
- U scenarijima sa veoma velikim celim brojevima, server treba da vraća tip String, izbegavajući Long.
- Podaci koje server vraća treba po mogućstvu da koriste JSON umesto XML formata.
02. Dodato pravilo koje zabranjuje svaki diskriminatorni jezik

Iako je internet sve otvoreniji, na neke izraze ipak treba obratiti pažnju (težiti usklađenosti). Sećam se da su ranije neke ključne reči u MySQL-u morale biti prilagođene.
03. Dodato pravilo da se kod osetljivih operacija evidencija (logovi) čuva šest meseci

Tamo gde su u pitanju pravni aspekti, ipak obratite pažnju tokom razvoja.
04. Ispravljeno poređenje jednakosti između compareTo i equals u klasi BigDecimal
O ovome sam ranije detaljno pisao u članku: poređenje između brojeva sa pokretnim zarezom ne sme koristiti operator „==", a između BigDecimal objekata ne sme se koristiti equals().
Ha, koliko drskosti — koristiti == za poređenje brojeva sa pokretnim zarezom?

05. Ispravljen broj proširenja (resize) za HashMap sa 1024 elementa
Izdanje Taishan navodi 7 proširenja.

Izdanje Songshan ispravljeno je na 8 proširenja.

06. Ispravljena specifikacija arhitektonskog slojevitja i pripadajuća objašnjenja
Slojevitost aplikacije u izdanju Taishan prikazana je na slici ispod.

Slojevitost aplikacije u izdanju Songshan izmenjena je kao na slici ispod.

07. Na kraju
Ako želiš da postaneš odličan Java inženjer, sadržaj ovog priručnika gotovo je obavezan. Da li ti se već žuri da preuzmeš priručnik?
Na kraju, iskreno ti želim uspeh u učenju — to be better, samo napred!
