Mobili versija | Apie | Visos naujienos | RSS | Kontaktai
 
Vartotojo vardas:
Slaptažodis:
Atsiminti
Login with a social network:

Jūsų požiūris

Aktyvios diskusijos

Ieškoti forume


Išsami paieška

 [ 11 pranešimai(ų) ] 
 
Naujos temos kūrimas Atsakyti į temą Pagrindinis diskusijų puslapis » Technologijos » Informacinės technologijos
Žinutė Autorius
  Standartinė   Parašytas: 2016-10-04, 18:55 
     
Profai koderiai dar ne tokių komentarų pasideda.
  • +1



Vartotojo avataras

Užsiregistravo: 2008-04-15, 13:28
Pranešimai: 986
Reputacija: +432
   
 
Į viršų
  Standartinė   Parašytas: 2016-10-04, 19:43 
     
Talkatif rašė:
Profai koderiai dar ne tokių komentarų pasideda.

Man irgi keistokai pasirodė sliekų ieškojimas ant asfalto.
Bet, aišku, galėjo kokį įmantresnį palikti, tipo
<!-- Hello, stranger! What are you doing here? ( ͡° ͜ʖ ͡°) -->
  • +1




Užsiregistravo: 2009-06-28, 02:39
Pranešimai: 4962
Miestas: Vilnius
Reputacija: +1040
   
 
Į viršų
  Standartinė   Parašytas: 2016-10-04, 20:43 
     
Šiaip jau profai koderiai turi bent minimalų review procesą. Jeigu šitas kodas praėjo 4-5 poras akių, kol gavo teisę nusileisti į Realease branch'ą, tada klausimas, ar toje kontoroje apskritai kas nors kerta, ką daro.

Jokia save gerbianti komercinė įstaiga tokio teamlead'o nelaikytų, o čia kvepia pigiu lėšų įsisavinimu.

Viena komercinė senior developerio valanda kainuoja kokius 50-100€. Aišku, valstybei tokie įkainiai nesuprantami: užtat ir matome tokį kodą kaip Math.between per pusę puslapio.

Nikulinas sakydavo „eik pasitreniruoti su katytėm“. Dabar pirmąjį if'ą būsimieji chaltūrščikai sukodina pagal valstybinį užsakymą. Way to go...
  • +1




Užsiregistravo: 2008-10-12, 05:22
Pranešimai: 6402
Miestas: ☀️☁️☂️☁️☀️
Reputacija: +404
   
 
Į viršų
  Standartinė   Parašytas: 2016-10-04, 20:53 
     
rwc rašė:
Šiaip jau profai koderiai turi bent minimalų review procesą. Jeigu šitas kodas praėjo 4-5 poras akių, kol gavo teisę nusileisti į Realease branch'ą, tada klausimas, ar toje kontoroje apskritai kas nors kerta, ką daro.

Jokia save gerbianti komercinė įstaiga tokio teamlead'o nelaikytų, o čia kvepia pigiu lėšų įsisavinimu.

Viena komercinė senior developerio valanda kainuoja kokius 50-100€. Aišku, valstybei tokie įkainiai nesuprantami: užtat ir matome tokį kodą kaip Math.between per pusę puslapio.

Nikulinas sakydavo „eik pasitreniruoti su katytėm“. Dabar pirmąjį if'ą būsimieji chaltūrščikai sukodina pagal valstybinį užsakymą. Way to go...


O ką aš tau seniau sakiau... Reikia gi ir "naujajai kartai" pasireikšti. Tad pasimėgaukim bent jau tais metodais kaip jie "stato pasaulį" :D
Nors iš dalies tai primena man ir mano paties "pradedančiojo programavimą" (prieš n metų): veikia, tik dar nesupratau kodėl :D
  • +1


_________________
O tai ir šiukšlių dėžėj tvarką reikia palaikyt?



Užsiregistravo: 2009-04-13, 19:21
Pranešimai: 1438
Reputacija: +195
   
 
Į viršų
  Standartinė   Parašytas: 2016-10-04, 22:38 
     
rwc rašė:
užtat ir matome tokį kodą kaip Math.between per pusę puslapio.


Net nežinau kas blogiau - ar toks ūkiškas ir paprastas kaip trys kapeikos kodas, ar kai nueina freimworkų keliu https://hackernoon.com/how-it-feels-to- ... a717dd577f :)
  • +1




Užsiregistravo: 2010-04-01, 21:51
Pranešimai: 3323
Reputacija: +470
   
 
Į viršų
  Standartinė   Parašytas: 2016-10-05, 00:10 
     
kestutiz, paprastai validavimo funkcijai max(a,min(v,b)) arba if(v<a){v=a};if(v>b){v=b} arba dar kokiam panašiam užrašymui reikia funkcijos globaliame Math prototipe? Komentarų "jeigu a mažiau nei b, tai grąžinam a; priešingu atveju b"? Čia kelintas laboras? Nulis kablelis pirmas? Nuo to ir prasideda freimvorkai, kai kontoros prisisamdo programerių, be zagatovkių nesugebančių net užpakalio nusišluostyt.[*]

O tavo nurodytas straipsnis, tiesą sakant, OT. Nesąmonė naudoti sudėtingus įrankius paprastiems dalykams, čia ir ežiukui aišku. Tačiau, jei imiesi projekto, kuriame grynas programavimas užtruks, tarkim, 12 grynų mėnesių 5 grynų programerių komandai, tai numatai atitinkamai kažkiek mėnesių analizei, deryboms, projektavimui, specifikacijoms, QA, CI, kodo kontrolei ir vieną kartą susisetupini visą infrastruktūrą su IDE, testavimo serveriais, backupais, kad paskui nereikėtų ieškoti ad-hoc sprendimo paskutinę naktį.

Savo ruožtu, IT development įmonės didžiausias privalumas yra įdirbis ir patirtis. Nesiimi projekto srityje, kurioje neturi patirties. Neimi pačių naujausių freimworkų, kol jų neišbandei vidiniuose žaisliniuose projektuose. Freimworką paslepi po tinkama abstrakcija, kad kiekvienam nereikėtų mokytis naujų sintaksės ir semantikos gotchų. Pasirūpini, kad komandoje būtų bent du techniniai žmonės, atsakingi už tos posistemės integraciją ir abstrakciją, tą dalyką žinantys tobulai ir prisiimantys visišką atsakomybę. Visus išpręstus klausimus dokumentuoji wikyje, bugziloje, API dokumentacijoje, stiliaus giduose, regresijos testuose... Esmė ta, kad parašyti HelloWorld užtrunka ilgai, bet tai daroma vieną kartą, kruopščiai ir iki paskutinio bito apgalvotai – o ne taip, kaip šauna į galvą naujai keptam nuo paskaitų nusimuilinusiam juniorui.

Tarkim, su Scala, Clojure, Kotlinu, Typescriptu laisvalaikiu dirbu N metų, bet nematau jokių prošvaisčių jiems savo dabartiniuose komerciniuose produktuose. Jei developeris tingi įvaldyti IDE ir sugeneruoti sorsą nepraleidžiant skliaustų, exceptionų, deklaracijų – tai joks kompiliatorius jo minčių nesugebės įminti. Tuo labiau, kai ateina bugfixo patch'as, niekas nenori skaityti šaradų ir laukti porą valandų viso projekto kompiliavimui. Jeigu programeris nesugebėtų pats parašyti tokios funkcijos, kurią naudoja, vadinasi – jis nėra kvalifikuotas ją naudoti. Ir priešingai: jis turi džiaugtis, kad tos funkcijos nereikia rašyti ir laužyti pačiam bei melstis arkangelams, kad ji tikrai veikia kaip numatyta.

Ūkiškas kodas gerai, bet jei jis painiojasi ne vietoje, tada kažkam verta pasiimti laisvadienį ir grįžti prie dokumentacijos skaitymo. Dviračio išradinėjimas jokios naudos neduoda, tik balamutina ir nukreipia dėmesį nuo sprendžiamos problemos – kaip ir sudėtingų API naudojimas ne vietoje. Jeigu programos būtų rašomos kompams, tai rašytume mašininiu kodu, o sorsai yra skaityti žmonėms.


[*]– anaiptol neteigiu, kad visur vietoje Math.between reikia rašyti max(a,min(v,b)). Jeigu toks patikrinimas (būtent patikrinimas, ne paslėpta klaidingų inputų korekcija!) naudojamas keliose vietose, tuomet yra prasmės išskirti validavimo funkcijų biblioteką, su atitinkamais pavadinimais, nešiukšlinant į globalų namespace, tinkamai dokumentuojant (ir be pilstymų, ką EcmaScripte daro if išraiška). Bet paaiškinkit man durnam: kada toks validavimas turi prasmę? Klaidingi duomenys iš kito kodo? Tai, blyn, jie ir turi būti pagauti ten, iš kur atėjo, lokalizuojant problemą, o ne ją atidedant. Vartotojas bandė įvesti 2016, bet įvedė 2061, kai maksimali reikšmė pagal speką 2030? Iš kur žinai, kad ją reikia taisyti į 2030, o ne 2016 ar 2011 ar 2006? Iš kur vartotojas žino, kad sistema priėmė jo įvestus duomenis, bet ne tokius, kokius jis suvedė? Toliau: jei programeris A ir programeris B nori tokios pačios funkcijos – iš kur B žino, kad A jau tokią turi? Iš kur jis, neskaitydamas sorso, žino, ką šiame kontekste reiškia žodis „between“? Kad tai ne predikatas „is v between a and b“, o veiksmas „adjust value of v to range“; kodėl viena sąlyga if'e yra <=, o kita tik <? Po velnių, jeigu value gali būti bet kokia nelegali reikšmė, tai kur patikrinimas, kad ji apskritai yra skaičius? Kodėl reikšmė „true“ yra tarp 0 ir 2? Kaip dėl reikšmės NaN, jeigu vartotojui tiesiog susipynė pirštai ir jis nukopipeistino su tarpo simboliu – užsiskaito NaN, ji eina į duombazę?

Paskutinį sakinį siūlau perskaityti dar ir dar kartą. Jau geriau nebūtų apskritai jokio tikrinimo, ir sistemai būtų leidžiama nulūžti iškart pastebėjus kliurką, nei į DB tyliai įsileisti „atseit“ patikrintas reikšmes. Ką tokioje duomenų validumui jautrioje sistemoje kaip Sodra veikia testuotojai? Negi kontoroje nėra nors vienos asabos, žinančios Ecmascript Number tipo rėžius?

Bottom line: bent jau komentarai, ką atlieka konkretus „if“, nemeluotų! O tai ir aš iš pradžių nepastebėjau, kad yra neteisingų reikšmių, praeinančių testus! Taip pat ir serversaide, žr.:

nashorn> "10 a"<2010
false
nashorn> "10 a">2016
false
nashorn> Number("10 a")
NaN
nashorn> typeof NaN
"number"

java> Double.valueOf("NaNaNa")
java.lang.NumberFormatException: For input string: "NaNaNa"
java> Double.valueOf("NaN")
java.lang.Double res0 = NaN
java> Double.parseDouble("NaN")
java.lang.Double res1 = NaN
java> new Scanner("NaN").nextDouble()
java.lang.Double res2 = NaN
java> "NaN<2010 → " + (0/0.0 < 2010.0)
java.lang.String res3 = "NaN<2010 → false"
java> "NaN>2016 → " + (0/0.0 > 2016.0)
java.lang.String res4 = "NaN>2016 → false"
  • 0




Užsiregistravo: 2008-10-12, 05:22
Pranešimai: 6402
Miestas: ☀️☁️☂️☁️☀️
Reputacija: +404
   
 
Į viršų
  Standartinė   Parašytas: 2016-10-05, 17:19 
     
Komentarai kode yra gėris ^^
  • 0




Užsiregistravo: 2011-07-18, 20:12
Pranešimai: 428
Reputacija: +24
   
 
Į viršų
  Standartinė   Parašytas: 2016-10-05, 18:38 
     
Keiksmažodis kode - vajei, kaip blogai. Eikime paverkti. Kita vertus, mane labiau stebina, kodėl kodas produkcinėje sistemoje - nėra minifyintas.

rwc rašė:
Šiaip jau profai koderiai turi bent minimalų review procesą. Jeigu šitas kodas praėjo 4-5 poras akių, kol gavo teisę nusileisti į Realease branch'ą, tada klausimas, ar toje kontoroje apskritai kas nors kerta, ką daro.


Vargu ar apskritai Lietuvoje yra įmonių, kuriose kodas dirbant su tokio tipo sistemomis, kaip SoDros IS, kas nors peržiūri tą patį kodą 4-5 kartus. Bet čia matosi, kad neperžiūrima nei 1 karto.

rwc rašė:
Viena komercinė senior developerio valanda kainuoja kokius 50-100€. Aišku, valstybei tokie įkainiai nesuprantami: užtat ir matome tokį kodą kaip Math.between per pusę puslapio.


Tikrai nereikia mokėti 100 eur, kad būtų prisilaikoma šiokių tokių standartų. Toks kodas, kokį čia matome - parašytas gal pusę metų patirtį turinčio asmens. Su metų patirtimi tikrai Math prototipo nekeistų.

rwc rašė:
Jeigu programeris nesugebėtų pats parašyti tokios funkcijos, kurią naudoja, vadinasi – jis nėra kvalifikuotas ją naudoti. Ir priešingai: jis turi džiaugtis, kad tos funkcijos nereikia rašyti ir laužyti pačiam bei melstis arkangelams, kad ji tikrai veikia kaip numatyta.


Ką reiškia sugebėtų, ar nesugebėtų... Per 15 min gal ir nesugebėtų, o per dieną sugebėtų - tai jau galima naudoti tą funkciją, ar ne? :D

rwc rašė:
Ūkiškas kodas gerai, bet jei jis painiojasi ne vietoje, tada kažkam verta pasiimti laisvadienį ir grįžti prie dokumentacijos skaitymo. Dviračio išradinėjimas jokios naudos neduoda, tik balamutina ir nukreipia dėmesį nuo sprendžiamos problemos – kaip ir sudėtingų API naudojimas ne vietoje. Jeigu programos būtų rašomos kompams, tai rašytume mašininiu kodu, o sorsai yra skaityti žmonėms.


Tikrai taip. Pasitaiko tokių, kurie mėgsta paprastus dalykus daryti kuo sudėtingiau - įvairūs design patternai ir t.t., nors tai tikrai nėra būtina ar naudinga. T.y. naudoja ne tai, kas reikalinga, o tai, ką sugeba.
  • 0




Užsiregistravo: 2010-08-03, 16:38
Pranešimai: 4366
Reputacija: +458
   
 
Į viršų
  Standartinė   Parašytas: 2016-10-05, 21:55 
     
rwc, mūsų valstybė tikrai labai daug išleidžia softo projektam. Kai kurie vis dar procese dešimtmetį, išleisti šimtai tūkstančių, o rezultatai susukti stumbro dėžutėse. Na arba tokiuose koduose :)
  • 0



Vartotojo avataras

Užsiregistravo: 2008-04-15, 13:28
Pranešimai: 986
Reputacija: +432
   
 
Į viršų
  Standartinė   Parašytas: 2016-10-05, 21:57 
     
Talkatif rašė:
rwc, mūsų valstybė tikrai labai daug išleidžia softo projektam. Kai kurie vis dar procese dešimtmetį, išleisti šimtai tūkstančių, o rezultatai susukti stumbro dėžutėse. Na arba tokiuose koduose :)


Ne, išleidžia nedaug. Daug duoda ES.
  • 0




Užsiregistravo: 2010-08-03, 16:38
Pranešimai: 4366
Reputacija: +458
   
 
Į viršų
Rodyti paskutinius pranešimus:
Rūšiuoti pagal
 


Naujos temos kūrimas Atsakyti į temą  [ 11 pranešimai(ų) ] 

Visos datos yra UTC + 2 valandos [ DST ]


Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 11 svečių


Jūs negalite kurti naujų temų šiame forume
Jūs negalite atsakinėti į temas šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite trinti savo pranešimų šiame forume
 

Ieškoti:
Pereiti į:
 
 

Reputation System ©'