Najveći projekt

Danas sam radio neku funkciju koja će neki vrag dirat po skriptama…adaptirati neka mjesta…i rekoh, kad smo već tu (morao sam isfiltrirat sve moje skripte do uključnih djelova) … ajde da i prebroji code koji je napisan.

Kaže suma sumaru: 4 041 023 karaktera, 101 679 linija. :slight_smile:
Prije par godina kada sam imao jedan projekt od 10 000 linija, mislio sam da je jako velik…a ovo sad je 10x veće. xd.

I da, znam da nije po ničem relevantna veličina projekta sa brojem karaktera, ovo je onako za razonodu informacija kojoj je jedina relevantnost sa time da su to sve karakteri koje sam osobno istipkao…nisu dio nikakvog uključenog plugina, ili tuđih skripti. …ili rezultat nekakvog parsiranja. Znači sve fileovi…“source by typing”.

“Ima tko većeg” xd

1 Like

ja sam imao 100 000, ali dobar dio toga je bio copy paste if then else commande.

Sad nakon 5 mjeseci zlo mi je akda moram nesto predelavat u tom codu. Tako to rade slampavi ljudi kao ja.

A ti mora da si dobro napaltio tako ogroman projekt, pa koliko si to tipkao pola godine?

Ah… to me podsjetilo na dane kljuckanja koda u vi editoru. Šta mislite zašto je ovakva naslovnica

A realno, tipkanje codea se dosta svodi na copy paste, pa odabiranje snipeta koje nudi editor, ili koje smo sami pohranili u editor. No sve to spada pod štrikanje…

To je glavni dio, dobiti da stvar ostane pristupačna za “ponovni ulaz”. Poddjelovi ovog projekta su sami za sebe jako veliki. Dosta njih toliko veliki da ih i smatram posebnim projektima, mada su dio ovog većeg…i dok se nisam uhodao za te “ponovne ulaze” …najgore je bilo preskakati s jednog dijela na drugi. (Jer mi također prođe 5+mj da se diram neki od tih poddjelova) Pa onda još međuovisnost tih stvari…pa na jednom poddjelu nešto mijenjaš…a vrišti tamo neki drugi da mu to smeta…

Trebalo je vremena da se uhodam, a da se struktura ne narušava bez obzira na veličinu.

A ti mora da si dobro napaltio tako ogroman projekt, pa koliko si to tipkao pola godine?

Tipkam zapravo od jeseni, 2012-te :slight_smile: . Ali dobro, onda bi trebalo dodati još jedno 1 500 000 karaktera koji sad nisam brojao. Jer prije ovog projekta, je bila i verzija1 istoga, a većinu toga iz verzije 1 nisam reciklirao.

Znači, ako se gleda samo verzija 2, tipkam od ljeta 2014-te. (Ali pored toga sam radio druge projekte, za lovu …dok ovaj projekt nisam masno naplatio, jer je to moj projekt :slight_smile: )
Naplatit će se on, posredno ili neposredno. Neposredno se već (na)isplatio, jer ova verzija 1 mi je već otvorila mnoga vrata u životu. Još nemam pojma što će biti sa verzijom 2 koja je kudikamo naprednija, ali gotovo sam siguran da će se trud isplatiti, čak da ni lipu zarade ne izvučem iz poslovnog modela projekta.

Neznam kakav je vi editor, ali vrijedno spomena je da mi je sublime editor donio preporod spram notepad++.

A što budućnost nosi po tom pitanju…jako sam optimističan. Vjerujem da ćemo programirati na taj način što ćemo razgovarati sa AI, te mu objašnjavati što i kako.

Dosad sam primjetio strašno prepoznatljivu strukturu koje se treba držati kako se struktura nebi raspadala. To je možda i najviše tricky part kod programiranja…i početniku bi to izgledalo kao neki dovitljivi skils programera, no zapravo to je jedna jako jako šablonska stvar koje se “samo” treba držati i znati je dobro uočavati na svim levelima…i “sve bu dobro”. Vjerujem da ćemo uspjeti računala naučiti kako da brinu o toj šablonskoj stvari…a onda će programeri nastupati samo sa idejama…a o DRYu će u potpunosti brinuti AI, koji će cijelo vrijeme rekonstruktuirati pozadinski code ovisno o dobivenim novim uputstvima. Usudio bih se čak reći, da to povlači nekakvu svoju vezu sa genetskim codom…i sa strukturama koje prate evoluciju. Ponekad se zapitam…koja je istinska pozicija programskog codea na evolucijskom stablu. Na prvu djeluje samo kao nekakva ljudska umotvorina…no ništa nije ljudsko, a da nije prirodno na nižoj hijerarhijskoj razini.

Svi frameworci, ovi oni…su zapravo preteča toga. S druge strane u jakom razvoju su neuronske mreže, prepoznavanje ljudskog glasa …pa čak i multilanguage prepoznavanje glasa. Programiranje je već debelo evoluiralo ako se usporedi današnjica sa asemblyom …no budućnost nam nosi sigurno još velikih velikih promjena.

Taj Vi je takad editor da sam sve zivce izgubio, lol

No stvar je na sto si anviknut, ja nisam nikako naviknut na VI

Vi je odlican… i hc :smiley:

Koji je pravi način rješavanja problema ako imamo brdo if else komandi. I sam sam zapao u istu zamku pa me zanima tvoje mišljenje?

vi editor … Tko u njemu napiše 10 000 linija koda, taj je pravi programer. :smile:
Za običan copy/paste je trebao doktorat :slight_smile:

Kod mene je bio problem rijesen copy paste metodom.

Al inace ako je moguce se moze koristiti loop pa mjenjas varijable.

P.S. ali nisam ti ja bas neki programer, ja ti radim samo web automatizaciju i tako sitne programcice za net.

1 Like

Ako na ulazu imaš više stanja, npr. 3 stanja koja su svedena na true ili false…to ti zahtjeva osam različitih izlaza/mogucih kombinacija. Za 4 na ulazu…raste na 16 izlaza…itd.

E sad, da se ne lovi osam ili nezz koliko kombinacija sa if else funkcijama…moze se ulaz promatrati kao binarni broj koji se lako pretvori u dekadski…a pomocu dekadskog broja dohvatis zeljeni izlaz, koji stoje negdje numerirani. Najlakse u arrayu poredani.
I tadann…umjesto 8, 16, 32… if else uvjeta, sve se rjesi sa tri linije codea :slight_smile:

  1. Zadas ulaz i moguce outpute. npr ([1,0,1],[outputs,…])
  2. Pretvoris bin u dekad: x=getDekad(BIN)
  3. Vratis output koji se nalazi na indeksu dekada

Ne trebas se ni sresti sa if else :)… A kamoli da ih je 16.

1 Like

Ovo gore je uber jednostavno i sažeto, ali ima prilično ograničenu domenu uporabe.
No, sjetih se još jedne zanimljive stvari, koju sam koristio samo jednom… I, koja mi je tad strahovito olakšala pisanu logiku… Iako je full pomogla, nisam sistem razradio da ga bude praktično koristiti za širi spektar situacija. No, ako opet naiđem na sl. situaciju…zasigurno ću istim putem.
O čem se radi. Zamislimo da imamo array nekih objekata…gdje svaki od njih moze biti svog tipa. I sad moramo napisati logiku koja će dohvaćati određene objekte po određenim paternima nizova kako se objekti pojavljuju. Recimo:
Dohvati sve tipove datuma, koji se pojavljuju nakon tipa mjesta. Ili, dohvati sve tipove datuma, koji su u nizu od dva ili tri datuma, a da je ispred njih 2-4 objekta tipa mjesto.
Što imamo više različitih paterna za dohvaćati…to treba više logike pisati. Koja može biti od relativno jednostavne…do prilično komplicirane. Ali u oba slučaja se baš osjeća da fali alat da prenesemo direktnu misao kao nekakav selektor objekata…pa tu svoju misao drljamo u obliku nekakvih if,else i for petlji. Ispadne tu bunch svega.
I sinula mi je odlična stvar :slight_smile: Tu misao koju zelimo prenesti, najbolja sintaksa za to su regularni izrazi. Samo oni rade sa stringovina…a ne sa arrayima.
No treba napraviti konverziju našeg arraya s objektima u jedan string zapis koji će sadržavati samo one vrijednost koje su nam bitne za selekciju.
Recimo “ddmdmmdd” moze opisivati izmjenu datuma i mjesta.
Mora postojati i revers, da znamo koji dio stringa nam prestavlja koji objekt. Sada kada imamo to, svoje objekte prebacimo u domenu stringa…i u toj domeni radimo čuda dohvaćanja sa regularnim izrazima, a da niti ne pipnemo u if, else ili for. Kad imamo zeljenu selekciju…vracamo se s reversom po objekte koje smo dohvatili.
Mozda i ima neki alat koji omogućuje ovakav rad s objektima…nisam upućen.

Mislim da je pravo pitanje zasto u jednom array-u imas objekte razlicitih tipova.

Zato jer radim program koji razumije što čovjek govori, a kad razbiješ rečenicu ostanu ti riječi koje predstavljaju objekti koji je svaki svog tipa/atributa. A od cijele informacije je jos najbitnije u kakvom su međusobnom odnosu te riječi, tj. kako je niz posložen.