Autor Téma: IDE - Vkladani kodu na konec  (Přečteno 932 krát)

Offline Andy

  • Mladík
  • **
  • Příspěvků: 53
  • Karma: 0
IDE - Vkladani kodu na konec
« kdy: 16-04-2017, 17:09:33 »
Nevi nahou nekdo jak nestavit aby se generovany kod vkladal na konec kodu a ne abecedne?
Priklad: Dam na form 3 tlacitka pokulepu na button3 a pote na button2.
Aktualni stav je takovy ze nasledne se button2 vlozi pred button3, coz neni problem v danem pripade ale problem je kdyz si seskupim nejake funkce a pak poklepu na objekt tak se mi to vlozi mezi moje funkce a ani ho nezajima ze je treba mam uzavrene v {$REGION '...'} nebo cokoliv jineho.

Idealni by bylo nastaveni abych rekl ze chci nove generovany kod davat az na samy konec pred "end."
Bohuzel jsem nikde nenasel reseni :-( tak se ptam mozna tady nekdo narazil na nejaky patch nebo neco co by tohle dokazalo?

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 958
  • Karma: 27
    • Verze Delphi: XE8, Seattle
Re:IDE - Vkladani kodu na konec
« Odpověď #1 kdy: 17-04-2017, 18:38:45 »
Lze to udělat obráceně, přes ručně vytvořené tělíčko v požadovaném místě vložit hlavičku a tu pak ručně přemístit (private-strict private...). u vkládaných komponent je to problém, ale jde to podobně.

Offline Andy

  • Mladík
  • **
  • Příspěvků: 53
  • Karma: 0
Re:IDE - Vkladani kodu na konec
« Odpověď #2 kdy: 17-04-2017, 21:16:01 »
No tak samozrejme muzu presouvat kazdou vkladanou komponentou proceduru rucne(ono mi zatim nic jineho nezbyva).
Proste je to k vzteku kdyz si povytvaris regiony, hezky si to sestavis jak potrebujes a pak kliknes na par novych tlacitek a muzes zacit odznova, obzvlast je to hezke kdyz se zapomenes a vytvoris tech tlacitkovych akci vice :-(

Tohle se (dle meho nazoru) jim teda vubec nepovedlo ...

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:IDE - Vkladani kodu na konec
« Odpověď #3 kdy: 18-04-2017, 10:05:24 »
IMHO regiony jsou berlicka spíše pro C# jak aspon trochu udržet přehled. Neznám nikoho kdo by to v Delphi reálně používal. Ale mohu se samozřejmě mýlit.
Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:IDE - Vkladani kodu na konec
« Odpověď #4 kdy: 18-04-2017, 10:23:25 »
IMHO regiony jsou berlicka spíše pro C# jak aspon trochu udržet přehled. Neznám nikoho kdo by to v Delphi reálně používal. Ale mohu se samozřejmě mýlit.
Nevim jestli berlicka - je to efektivni zpusob, jak strukturovat kod. I ve svete C# jsou zaryti odpurci regionu, ale kdyz musis pracovat s cizim kodem, o kterem presne nevis, kde co je, tak velmi ocenis, pokud je ten kod rozumne clenen do regionu. Zejmena v non-Java jazykach, kde programatori nejsou nuceni ctit pravidlo 1 public class = 1 soubor a naprasi do jednoho souboru kde co viz treba zdrojovky VCL

Ono asi obecne neni dobrym zvykem chtit se hrabat v automaticky generovanem kodu a je treba se tomu prizpusobit. U Delphi jsou zdaleka nejhorsi uses klauzule v reusable kodu, kdyz potrebujes podminene pro ruzne zakazniky importovat ruzne veci - tam je to skutecne k posr*ni: kdyz to uklidis z dosahu IDE do .include, tak ztratis spoustu podpory pri editovani, kdyz to pouzijes, tak po kazdem Save to musis zotavovat treba z SVN :-(

Jeste ze uz v tom nemusim delat ;-)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:IDE - Vkladani kodu na konec
« Odpověď #5 kdy: 18-04-2017, 10:45:19 »
Já ti to samozřejmě neberu, ale z mé zkušenosti jsou regiony použitelné jen v případě když jsi na tom projektu sám, nebo když jsi maniakální vrah, a znáš adresu ostatních programátoru.

Protože používat regiony chce mnohem větší disciplinu a důslednost než ji nepoužívat. Jinak je to celé na houby.
Což naproti interface sekce v unitu je mnohem přehlednější.

A upřímně nenávidím projekty, kdy pro každé uprcnutí je jeden soubor a ještě v nějakém podadresáři, nejlépe ve 4 úrovni. Takže nápodobně :-).
Ale na druhou strana to asi velmi dobře cvičí paměť, takže to má asi něco do sebe.
Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:IDE - Vkladani kodu na konec
« Odpověď #6 kdy: 18-04-2017, 14:46:42 »
Já ti to samozřejmě neberu, ale z mé zkušenosti jsou regiony použitelné jen v případě když jsi na tom projektu sám, nebo když jsi maniakální vrah, a znáš adresu ostatních programátoru.
S tim nemuzu souhlasit: napr. kod se kterym ted delam vznikal ~10 let a podilelo se na nem nekolik lidi, pouziva regiony a myslim, ze bys mel tezkosti identifikovat kod napsany ruznymi lidmi...

Offline mira

  • Nováček
  • *
  • Příspěvků: 10
  • Karma: 0
Re:IDE - Vkladani kodu na konec
« Odpověď #7 kdy: 18-04-2017, 22:24:21 »
A upřímně nenávidím projekty, kdy pro každé uprcnutí je jeden soubor a ještě v nějakém podadresáři, nejlépe ve 4 úrovni. Takže nápodobně :-).
Ale na druhou strana to asi velmi dobře cvičí paměť, takže to má asi něco do sebe.
Problém takového přístupu nastane tehdy, když v budoucnu potřebuješ to uprcnutí rozšířit, případně když takových uprcnutí se v jednom souboru nahromadí několik. Pak je kód zbytečně nepřehledný. Raději se snažím od začátku projekt důsledně strukturovat, i když se to může jevit jako zbytečné.

Offline Andy

  • Mladík
  • **
  • Příspěvků: 53
  • Karma: 0
Re:IDE - Vkladani kodu na konec
« Odpověď #8 kdy: 18-04-2017, 22:51:22 »
Osobne regiony povazuji za super vec ale to je samozrejme vec kazdeho ;-)
Ono asi obecne neni dobrym zvykem chtit se hrabat v automaticky generovanem kodu a je treba se tomu prizpusobit.
Ono kdyz je to form kde vse je automaticky generovany kod tak to samozrejme neni problem ale kdyz do toho clovek vlozi par svych procedur, rozbije je na regiony (nemusi byt nutne v {$REGION} :-) ) a ta potvora pak do tech regionu vklada svuj automaticky kod tak to je na po*rani  ... ne zeby se to nedalo prezit ale proste clovek si hraje aby ne jen interface ale i kod vypadal "hezky" a pak par blbych dvojkliku to cele rozhodi.

To je jako kdyby clovek vlozil na form tlacitko a ono se vlozilo samo kam by se mu chtelo a rozsoupalo ostatni komponenty aby se tam veslo  :o

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 459
  • Karma: 20
    • Verze Delphi: D2007, XE3
Re:IDE - Vkladani kodu na konec
« Odpověď #9 kdy: 19-04-2017, 16:51:03 »
no ono preto sa snazim vo formularovych jednotkach mat minimum kodu, vtedy nejake strukturovanie pomocou regionov nie je potrebne.

Ad dva, zacinaju sa ozivat hlasy ze "zlata stredna cesta" neexistuje. No neviem, ale co sa tyka strukturovatelnosti kodu som za strednu cestu. 1 class = 1 unit mi pride uz prehnane (aspon teda vo svete delphi), rovnako ako viac ako 5 tried na unitu alebo tak nejako. Vsetko zalezi od velkosti a rozsahu tvorenych tried a ich previazanosti. Myslim ze s trochou sudnosti sa to da pekne rozstrukturovat nejakou strednou cestou. Uz len najst toho sudneho cloveka ze  ;D

To pf:

Od nejakej starsej verzie XE masivne pouzivam rozsiahle a viacnasobne vnorene include subory s podmienenym kompilovanim v uses klauzuliach a funguje mi to bez problemov. Dokonca aj vo formularoch. Pouzivam to ako to hovoris hlavne pre moj reusable kod. Zrejme to mam dobre koncepcne osetrene, pracoval som na tom hned od sameho zaciatku. A neprisiel som ani o ziadne editacne moznosti IDE. Dokonca si IDE ani na nic nestazuje a nic mi neprepisuje, nemaze, nedoplna. Pruser je len ked mi vznikne kruhova referencia, to pri viacnasobne vnorenych include suboroch s podmienenym kompilovanim dokaze potrapit. Ale to sa mi stava len ked editujem ten reusable kod, ked daco sprasim v aplikacii tak je to hned viditelne odhalene...

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:IDE - Vkladani kodu na konec
« Odpověď #10 kdy: 19-04-2017, 17:30:46 »
Od nejakej starsej verzie XE masivne pouzivam rozsiahle a viacnasobne vnorene include subory s podmienenym kompilovanim v uses klauzuliach a funguje mi to bez problemov.
Tobe IDE resp. debugger resolvuje odkazy (pri watch, follow etc...) a naseptava symboly, ktere jsou definovane v unitach, ktere nenajde primo v uses a mas je v includech (a ty unity nejsou na path)? :-O

Tohle aspon davno pred nejakymi verzemi XE nefungovalo a pro IDE plativalo, ze pouziva nejaka siditka a nechova se stejne jako prekladac+linker

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 459
  • Karma: 20
    • Verze Delphi: D2007, XE3
Re:IDE - Vkladani kodu na konec
« Odpověď #11 kdy: 27-04-2017, 08:49:10 »
Tobe IDE resp. debugger resolvuje odkazy (pri watch, follow etc...) a naseptava symboly, ktere jsou definovane v unitach, ktere nenajde primo v uses a mas je v includech (a ty unity nejsou na path)? :-O

Jj, nezaznamenal som ziadne obmedzenia voci priamemu zapisu do uses. Ten follow mi neviem preco niekedy nefuguje aj pri priamom zapise bez include. Tak 1 zo 4 pokusov neprejde a neprisiel som doteraz na to preco. Ale inac ako pisem, mam nejaku vlastnu reusable kniznicu ktoru pcham pomaly do kazdeho projektu ktory robim. A aby som to nemusel stale vypisovat v kazdej unite tak vzdy na zaver uses vlozim include subor. Navyse mam v projekte nejaky globalny inc subor v ktorom nastavim direktivy podmienenej kompilacie a vyberam si tym kore casti tej reusable kniznice chcem mat v projekte zahrnute. Cize podla toho sa mi tie include subory v uses klauzuliach este upravia aby sa do projektu netahalo uplne vsetko. Nejakych par dni mi to trvalo kym som si to takto vysperkoval ale od vtedy s tym nemam nijake zavaznejsie problemy a nestretavam sa zo ziadnymi obmedzeniami voci priamemu zapisu