- A hozzászóláshoz be kell jelentkezni
- 5896 megtekintés
Hozzászólások
(x) igen, bár nem vagyok fejlesztő
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
A supporktörbe tartozó problémák 60-70%-a csak így oldható meg. ( bár eszközsupport de gondolom a debuglog ér )
- A hozzászóláshoz be kell jelentkezni
(sub)
- A hozzászóláshoz be kell jelentkezni
nincs debugger :(
Software is like sex, it's better with a penguin. :D (r)(tm)(c) آكوش
- A hozzászóláshoz be kell jelentkezni
Hogyhogy nincs debugger?
--------------------------------
http://r1pp3rj4ck.wordpress.com/
- A hozzászóláshoz be kell jelentkezni
én pl. webre fejlesztek php-ben, ezen a területen összvissz van egy xdebug, amit elég körülményes használni. nem is üzemelem be, csak ha nagyon muszáj.
- A hozzászóláshoz be kell jelentkezni
És hogy keresel hibát? Ideiglenesen a kódba írt echo-val?
- A hozzászóláshoz be kell jelentkezni
én is, de xdebug + netbeans teljesen jól együttdolgozik...
- A hozzászóláshoz be kell jelentkezni
+1, és kb 2 perc belőni (a remote hostot kellett annó bekapcsolni, ami nem volt a default configban)
- A hozzászóláshoz be kell jelentkezni
én is, de xdebug + netbeans teljesen jól együttdolgozik...
- A hozzászóláshoz be kell jelentkezni
+1
PHP debugerek: print, print_r, var_dump :)
- A hozzászóláshoz be kell jelentkezni
+1
És a legrosszabb esetben: die();
:D
-------------
*Ahol vagy, lègy ott*
"Nem." - mondta a foton és interferált
Winben blogja
- A hozzászóláshoz be kell jelentkezni
Hat igen, eleg siralmas sajnos :(
- A hozzászóláshoz be kell jelentkezni
Ez nettó baromság, ugyanis az említett eszközök nem debuggerek, és létezik igazi debugger php-ra. Aki nem hiszi járjon utánna
- A hozzászóláshoz be kell jelentkezni
Lehet nem vagyok elég up-to-date. zend debugger? vagy nem fejlesztik már?
- A hozzászóláshoz be kell jelentkezni
Csak egy kérdés: A PhpED progiról hallottál már? Nekem nagyon megfelelt a beépített debuggere. Ritkán fejlesztek, de akkor nagyon hasznos.
- A hozzászóláshoz be kell jelentkezni
Olyan mikrovezérlő amin nincs JTAG, Soros port van, oda teszek pár print-et a kódba ahol a hiba lehet...
Software is like sex, it's better with a penguin. :D (r)(tm)(c) آكوش
- A hozzászóláshoz be kell jelentkezni
Manapsag meg van olyan mikrovezerlo, amit nem lehet debug-olni? Mi ez a cucc ha nem titok?
/sza2
- A hozzászóláshoz be kell jelentkezni
Pl. Atmega8
- A hozzászóláshoz be kell jelentkezni
Szinte minden AVR-en van JTAG vagy debugWire. Jol megdolgoztal vele, hogy megtalald azt, amelyiken ez problema... Nem gondolkodtal azon, hogy lecsereled egy m88-ra vagy m168-ra debuggolashoz?
- A hozzászóláshoz be kell jelentkezni
Amikor én ezzel foglalkoztam, azok még nem is léteztek.
- A hozzászóláshoz be kell jelentkezni
Én az utolsót jelöltem meg, mert csak középsuliban programoztam utoljára. :) Viszont szerintem hasznos volt a debugger, csak a tanárom a Dev-C++-t választotta ki IDE-nek, amiben ez a funkció nem működött (azóta lehet, hogy változott a helyzet). Úgyhogy én magamnak a Code::Blocks-ot választottam ki, amiben bár rendesen ment a debugger, eleinte nem tetszett a tanáromnak, hogy az órán azt használtam és nem azt, amire ő „engedélyt adott”. De aztán nem szólt érte többet.
- A hozzászóláshoz be kell jelentkezni
> Dev-C++ ... (azóta lehet, hogy változott a helyzet)
Nem, rég megdöglött már a projekt. Vagy legalábbis jó sok éve nem volt update.
- A hozzászóláshoz be kell jelentkezni
A Wikipédia szerint 2011 óta újra fejlesztés alatt áll, csak más fejleszti. A karban tartott változat weboldala viszont Orwell Dev-C++ nevű forknak nevezi.
- A hozzászóláshoz be kell jelentkezni
Teszteléshez is debuggert használok.
- A hozzászóláshoz be kell jelentkezni
A legtöbb hiba amivel találkozom vagy nem olyan komoly, hogy kelljen hozzá, vagy túl komoly ahhoz, hogy használható legyen.
(Megnézném, hogy többszálú alkalmazásban kölcsönös kizárási problémákat hogyan derítesz fel kényelmesen debuggerrel...)
Valamint kernelfejlesztéskor sem kényelmes a debugger, hiába van kgdb.
- A hozzászóláshoz be kell jelentkezni
Eclipse, debug, pause a szálakra, és annyi... ja, hogy neked c/c++-ban kéne... :)
- A hozzászóláshoz be kell jelentkezni
Tud az Eclipse C/C++-ban is több szálon debuggolni, nincs vele gond. Csak egy többszálú alkalmazásban előjövő hiba tipikusan olyan, amit esetenként macerás kimutatni/reprodukálni.
- A hozzászóláshoz be kell jelentkezni
Rég volt, nem tudom, talán keverem is valamivel, de rémlik az emlékeimből egy olyan lehetőség, hogy debuggerrel rá lehetett akaszkodni futó processzre és az általa használt adatok közt turkálni.
Pl. deadlock esetében ha nem volt túl kacifántos a helyzet, akkor viszonylag hamar meg lehetett találni, hogy ki, kire vár.
- A hozzászóláshoz be kell jelentkezni
Persze, ezt meg lehet csinálni, de sajna nem csak deadlockból áll az élet :-)
Nyilván vannak eszközök, de a gondolkodás is kell hozzá.
- A hozzászóláshoz be kell jelentkezni
Jó, de itt ugye arról van szó, hogy debugni vagy nem debugni. :)
És végeredményben úgy tűnik, hogy eszköz van hozzá, csak sokan valamiért egyszerűbbnek tartják a printf-nek megfelelő sorokkal bővíteni a programjukat, mint debuggert használni.
- A hozzászóláshoz be kell jelentkezni
+1, én is erre jutottam...
- A hozzászóláshoz be kell jelentkezni
+1
Valahogy eltűntek azok a funkcionális nyelves topikban még igen hangos hangok, miszerint eretnekség ilyet csinálni live kóddal, és inkább debuggoljak, mert már nem C89-et írunk. :(
- A hozzászóláshoz be kell jelentkezni
megszakitod a futast es megnezed mi van a szalak stackframejeben? :-)
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
Többiek már írták a triviális megoldást, de vannak kényelmesebb eszközök is:
https://netbeans.org/kb/docs/java/debug-multithreaded.html#Exercise_23
- A hozzászóláshoz be kell jelentkezni
Elozo munkahelyemen egy eleg komoly hibat deritettem fel debuggerrel tobbszalu kornyezetben.
A server (amiben a hiba volt) UDP-n kommunikalt kulso eszkozokkel (nehany 10, a veglegesben joval tobb), a kliensek meg ezen keresztul monitoroztak. Kulon szalon ment kifele a keres, es kulon szal dolgozta fel a visszakapott valaszokat (plusz volt kulon szal a DB-nek, a kliensenken kulon-kulon, meg meg egy par dolognak, osszesen 10-20 kb.). A requesteknek volt egy azonositoja, ez szerepelt a valaszban, es csak a kikuldott kerdesbol es az id-bol derult ki, hogy a visszakapott binaris adat hogy ertelmezendo. Az azonosiokat round-robin rendszerben osztottuk ki, de csak azokat, amire mar megkaptuk a valaszt (vagy ha elveszett vagy lejart a timeout).
Kb. 2 hetenkent lefagyott a program. Kiderult, hogy a timeout-ot rosszul kezeli (> helyett < kellett volna valahova az osszehasonlitashoz), emiatt az idonkent vesztett/keso csomagok miatt szepen lassan elfogytak az id-k, egeszen addig, amig a kuldo szal uj id-t kereso ciklusa korbe-korbe ment siker nelkul.
Eleg emlekezetes bug volt, a repro kulso eszkozoktol fuggott tobbszalu programban, es veletlenszeruen jott elo. A debugger viszont segitett.
Mostanaban nem hasznalok debuggert, mert teljesen mas feladatom van, konkret vason jonnek elo bizonyos bugok, es ezek nagy reszet nem lehet osszekotni geppel (vagy macerasabb lenne).
--
Why did the chicken cross the road?
It was trying to get a signal on its iPhone 4.
- A hozzászóláshoz be kell jelentkezni
Ha csak lehet igen, de van olyan környezet, ahol nincs debugger.
Olyan is van, hogy egy hiba csak release mode-ban jön elő, debug információk nélkül.
- A hozzászóláshoz be kell jelentkezni
"Ha csak lehet igen, de van olyan környezet, ahol nincs debugger."
+1
Kár, hogy nem volt ilyen szavazási opció.
- A hozzászóláshoz be kell jelentkezni
Ugy programozok, hogy ne kelljen debugger. A hibakat a hibaleiras alapjan elmeleti uton is megtalalom a kodban. Kifejezetten ritka, hogy debuggerre van szuksegem.
Szamomra dobbenetes, hogy emnnyi emebr gyakorlatilag a debuggerben fejleszt. Olyan is a kodjuk.
- A hozzászóláshoz be kell jelentkezni
Két külön dolog: használja a debuggert, ha hiba van a kódban, ezzel együtt lehet igénytelen kódot is írni, meg szép kódot is. A kettő szerintem nem függ össze...
- A hozzászóláshoz be kell jelentkezni
A debugger raszoktatja a nagy tobbseget a gondolkodas elhanyagolsara. Kicsit olyan mint a zsebszamologep meg a fejszamolas. Nem csak a gyors fejszamolas kepessege veszik el, hanem pl. az arnayok erzekelese, stb.
Az intenziv debugger hasznalat gyakran egyutt jar a kizarolag kodban valo gondolkodassal. En mindig az architektura es design felol kezdek problemat keresni. Megbizom magamban annyira, hogy a design koncepciomat jol kodoltam le. Tehat vagy design problema van, vagy trivialis kodolasi hiba, amit a szemem eszrevesz. A debugger csak nagyon szelsoseges (pl. tranzeins jelensegek, adatkommunikacio, stb.) esetben kell.
- A hozzászóláshoz be kell jelentkezni
Hát személy szerint egy elég nagy nemzetközi projekten dolgozom, sokszor párhuzamosan másokkal, és debugger a napi eszközkkészletem része. Igazad lehet, ha az Nber egyedül dolgozik, és minden kódrészletet, elágazást, kombinációt, stb. maximálisan ismert, de onnantól, hogy mások munkájában kell túrkálni nagyban megkönnyíti az életet. Szóval nem érdemes ennyire álltalánosítani, mert eszközt tudni kell választani és használni is.
- A hozzászóláshoz be kell jelentkezni
Nyilvan elsosorban sajat kodra ertettem. Mondjuk azert ha mindenki mindenhova belenyulkal egy nagy projekten az nem tul egeszseges. Az eszkozt nem kritizaltam, csak inkabb a gondolkodasmodrol szerettem volna irni.
- A hozzászóláshoz be kell jelentkezni
Egyébként library-ket használsz? Mert ott bizony nem áll, amit írsz. Az API dokumentáció nem mindig annyira jó (értsd: részletes, hibátlan), hogy kapásból elméleti szinten átlásd a rafináltabb corner case-eket is. Sőt...
Én bizony nem ritkán szoktam azzal időt eltökölni, hogy debuggerrel gyakorlatilag reverse engineerelem egy library működését. És a végén elég vegyes az eredmény, van hogy kiderül, hogy a mi kódunk hívja az API-t rosszul, de van olyan is, hogy a libraryban fogunk bugot.
---
Régóta vágyok én, az androidok mezonkincsére már!
- A hozzászóláshoz be kell jelentkezni
Ld. meg a fentebbi valaszomat mhmxsnek. Az utobbi idoben nem igazan hasznalok libraryket, mert elsosorban safety firmwaret fejlesztek, ott pedig problemas. De egyetertek veled, en is debuggoltam mar eleg libraryt, viszont en a sajat fejlesztesekrol es egy szemleletmodrol irtam.
- A hozzászóláshoz be kell jelentkezni
"A debugger raszoktatja a nagy tobbseget a gondolkodas elhanyagolsara."
Ez azért elég relatív. Én például ritkán használok debuggert, de ennek az az oka, hogy a megoldandó feladat alapvetően matematikai jellegű, tehát olyan terep, ahol az ember jellemzően mehet valamire gondolkodással. Ugyanakkor néha még itt is befigyel a "misztikus faktor", amikor gondolkodhatsz napestig, akkor se jössz rá, hogy mi van. Na ilyenkor a debugger a megoldás.
- A hozzászóláshoz be kell jelentkezni
Gondolom a Guitar Hero-t is akusztikusan játszod.
- A hozzászóláshoz be kell jelentkezni
Nem tudtam, hogy mi az, ugyhogy utana neztem. A legritkabb eset, hogy szamitogepen jatsszak, akkor is inkabb logikai jatekokat. Viszont gitarom van, es az tenyleg akusztikus.
- A hozzászóláshoz be kell jelentkezni
Ez egy rendkívül nagyképű hozzáállás egyébként. Igen, van, amikor egyszerűbb debuggerben fejleszteni, főleg, amikor nagy a program és sokáig tartana újraindítani.
Másrészt, amikor a debuggerrel gyorsabb, nem fogok feleslegesen pöcsölni, azért nem fizetnek.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Igen az architektura meg a design az ilyen felesleges pocsoles. Meg az is felesleges pocsoles, hogy ertsem, hogy mit irok le. Majd a debugger megmutatja, hogy hogy mukdik.
- A hozzászóláshoz be kell jelentkezni
Népszerű lehetsz a kollégák körében...
- A hozzászóláshoz be kell jelentkezni
Igen, ha problemajuk van altalabn hozzam fordulnak. A szemelyeskedes egybekent mennyivel viszi elore a temat? Ez ugyanis a masodik szemelyeskedo hozzaszolasod.
- A hozzászóláshoz be kell jelentkezni
Architect-e vagy-e? Azon, hogy valami architekturálisan van elcseszve azon nem segít/ront a debugger.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Igen architect vagyok, viszont a fontos reszeket magam kodolom. Az elcseszett architekturan nem segit a debugger, de onmagaban a rossz kodon sem. Ezert annak vagyok a hive, hogy eleve jo kodot irjunk, aminek alapja a jo architektura es jo design, de a megfelelo szemlelet is elengedhetetlen. En azt vallom, hogy ugy kell kodolni, mintha nem lenne debuggered. A kod egy masik megfogalmazasa (lekepzese) a designnak es a designhoz sincs debuggerem. Persze neha jol jon a debugger, de nem erre kell epiteni. A koncepciot kell atutletni elegansan es egyszeruen.
- A hozzászóláshoz be kell jelentkezni
Nincs olyan, hogy eleve jó kód. Aki ilyet állít, az saját magát csapja be. (Ld. optimalizálás, amit szigorúan mérés után szokás)
Viszont továbbra sem látom be, hogy az architektúrális döntéseknek mi köze ahhoz, hogy debuggerrel ránézel, hogy hol milyen adat jött be egy-egy fv híváskor (a várttal ellentétben) és így keresd meg a hibát. Ehhez ugyanúgy godnolkodni kell.
Másrészt miért is ne építsek rá? Munkát gyorsítja, egyszerűbbé teszi. Vagy refactoringot se használjak, mert júj az is olyan, hogy előre meg lehetett volna tervezni másképp? (Mi van, ha utólag kell módosítani?). Vagy tovább megyek: szintaxiskiemelést se, mert könnyíti a szemnek a különféle nyelvi elemek elválasztását ezáltal lustábbá teszi az embert? Ne vicceljünk már.
Egyébként magam részéről inkább azt tapasztalom, hogy ott ahol nem megszokott a debugger (pl. PHP, de debuggerrel normálisan ellátott nyelvekben is akár), ott teletúrják a kódot mindenféle echo/printf/tsi. üzenettel, amit aztán lehet kimazsolázni. És emellett ugyanúgy nem gondolkodnak.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Mi a bajod az echo, print üzenetekkel? Nagyon hasznosak tudnak lenni.
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
Elolvastad, amit írtam? Az, amikor jön a fogyaték kóder, aki ahelyett, hogy használna egy debuggert, inkább telefossa a kódját print_r-ekkel és echo $asdf;-ekkel, hogy lássa mi van egy-egy változóban, aztán sokszor tetézi azzal a helyzetet, hogy ezeket nem kipucolja rendesen, hanem csak kikommenteli, "mert hátha még kelleni fog".
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Értem. A tesztelési módszerrel nincs is baj, főleg ha takarítást is végez utána. Kódolás közben én is csinálok ilyet értelmesebb szöveggel, mert mindjárt tesztelni is szoktam. De végül törlöm. Ilyen hülye nevű változókat meg alapból nem gyártok.
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
"Nincs olyan, hogy eleve jó kód."
Ezzel vitatkoznek. Meg akkor is, ha a kod nem tokeletes, de van jo kod es rossz kod. Lehet valamit szepen lekodolni es osszeganyolni.
"Viszont továbbra sem látom be, hogy az architektúrális döntéseknek mi köze ahhoz, hogy debuggerrel ránézel ..."
Az a koze, hogy ha jo az architektura, akkor egy hibajelentes alapjan nagyon gyorsan tudom gondolatban lokalizalni, hogy hol es mit keresek. Egyszeruen majdhogynem sorra megmondhato, hogy hol kell a hibat keresni. Ettol meg nem zarhato ki, hogy a debugger kell majd valamilyen kommunikacios vagy tranzeins hiba elkapasahoz, de legtobbszor nincs ra szukseg, es jellemzoen nem is debuggerrel keresem elso korben a hibat.
"Másrészt miért is ne építsek rá? Munkát gyorsítja, egyszerűbbé teszi. Vagy refactoringot se használjak, mert júj az is olyan, hogy előre meg lehetett volna tervezni másképp? (Mi van, ha utólag kell módosítani?). Vagy tovább megyek: szintaxiskiemelést se, mert könnyíti a szemnek a különféle nyelvi elemek elválasztását ezáltal lustábbá teszi az embert? Ne vicceljünk már."
Itt azert olyan dolgokat keversz ide, amik nem ide tartoznak, es nem is allitottam roluk, hogy ne lennenek szuksegesek vagy hasznosak. Egyebkent a debuggerrol sem allitottam, hogy nem szukseges es nem hasznos, csak hogy szamomra nem a fejlesztes alapeszkoze. Csak akkor veszem elo, ha igazan szukseges.
"Egyébként magam részéről inkább azt tapasztalom, hogy ..."
Nem szoktam tracelni, max. ha kommunikacios hibat keresek. A traceles csak vegszukseg esetere van fenntartva, a debuggolas gyorsabb es kenyelmesebb.
- A hozzászóláshoz be kell jelentkezni
Nem értem miről beszélsz, Mr Architect.
A debugger hasznos és jó dolog. Veled még nem volt olyan, hogy egy-egy bonyolultabb kódodat debuggerel is átnézted megírás után?
10 éves korom, vagy még régebb óta programozok, és gyakran használom a debuggert mind a saját magam, mind mások kódjának az ellenőrzésére, megértésére. Valamint persze bugfix-ra.
Aki debugger ellenes, az nem szokott bugokat javítani.
A jó kód írásában segít a debugger.
- A hozzászóláshoz be kell jelentkezni
Én akkor szoktam le kicsit a debuggerről, amikor - jó sok évvel ezelőtt - elkezdtem Windows 3.11 alá programozni, és a Turbo Debugger for Windowst kellett volna használnom. Annál esetlenebb megoldást nehezen tudok elképzelni, nem tudom, használta-e valaki.
Akkor és ott megtanultam, hogy nem szabad debuggertől függeni. Használni lehet, de előtte inkább gondolkodom egy kicsit. Nyilván más dolog egy olyan kódnál, ahol többen fejlesztünk.
- A hozzászóláshoz be kell jelentkezni
Most egy pillanatra elbizonytalanodtam, de úgy érzem, még mindig 2014 van.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Francba, 2015 maradt meg bennem. Több hivatalos papírra is ezt írtam már.
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
A turbo Debugger for Windows után egyszer játszásiból ránézhetnél a Visual Studio-ra, hogy hol tart manapság a technika. (A legfrisebb ugyan elég ronda, de legalább használható.)
- A hozzászóláshoz be kell jelentkezni
Ismerem, használom, nem ezt írtam.
Annyit írtam, hogy én abban az időben kezdtem használni ezeket, így fontosnak tartom, hogy debugger nélkül is tudjak élni. Jól is jön ez sokszor. Mivel sok időzítésérzékeny kóddal van dolgom - hardverközeli vagyok - nem mindig alkalmazhatóak az általános debug funkciók.
És nem véletlenül írtam, hogy egyedül fejlesztett szoftverekről van szó, amelynek átlátom a logikáját... Azért az nagyon nagy előny.
Így már elfogadhatóbb?
- A hozzászóláshoz be kell jelentkezni
"Nem értem miről beszélsz, Mr Architect."
Olvass vissza, mindent leirtam.
"A debugger hasznos és jó dolog."
Hol allitottam az ellenkezojet? Szerintem is az. A tulzott hasznalata nem az. Altalaban rossz fejlesztoi szemleletet takar. Ez a tapasztalatom.
"Veled még nem volt olyan, hogy egy-egy bonyolultabb kódodat debuggerel is átnézted megírás után?"
Inkabb rajzolok. Nekem jobban bejon.
"A jó kód írásában segít a debugger."
Nekem nem kell debugger, hogy mgertsem, hogy mit irtam le. Ha igen, akkor jobb, ha ujrairom, mert kesobb karbantarthatatlan lesz.
- A hozzászóláshoz be kell jelentkezni
"Nekem nem kell debugger, hogy mgertsem, hogy mit irtam le. Ha igen, akkor jobb, ha ujrairom, mert kesobb karbantarthatatlan lesz."
Baszki, ennyire nem érted? Nem arra kell a debugger, hogy azt felfogjam, hogy mit írtam le (vagy, hogy más mit írt le), hanem arra, hogy azt vizsgáld meg, hogy hogyan működik. Vagy hogy pl. melyik változó, adattag milyen értéket vesz fel. Vagy menet közben kiértékelni egy-egy dolgot. Nem csak te írod a kódot, nem ismerhetsz mindent. Ha használsz külső libet különösen igaz. Ilyenkor 1000x egyszerűbb végigszaladni debuggerrel egy függvényen, és ha látod, hogy nem az elvárt irányba megy tovább a kód/nem az az értéket adta vissza egy hívott függvény, amit vártál, akkor abba leásni tovább, mintsem azzal szopkodni, hogy végigolvasok esetenként sokezer sornyi kódot.
Arról nem is beszélve, hogy az edit&continue és a Java hotswap korában mennyire meg tudja dobni a fejlesztési sebességet az, mikor tényleg debuggerben fejlesztek. Pl. megírok egy kódrészletet, letesztelem, hogy megy-e, majd utána debug módban hozzáírom a maradékot, miután láttam hogy jó. Vagy mondjuk grafikus program és egyszerűbb debug mód mellett fejleszteni, mert egyből látom, hogy mi lesz a végeredmény és egyszerűbb igazítani rajta, mint emiatt újrafordítani, újraindítani, stb.
Kényelmes? Igen. Gyorsabban haladok? Igen.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
"Nem arra kell a debugger, hogy azt felfogjam, hogy mit írtam le (vagy, hogy más mit írt le), hanem arra, hogy azt vizsgáld meg, hogy hogyan működik"
Mi a kulonbseg? Ha ertem, hogy mit irtam le, akkor tudom, hogy hogyan mukodik, es forditva. Mit kell azon viszgalni?
A kulso libekkel kapcsolatban mar megint masrol beszelsz, fentebb mar leirtam, hogy a sajat fejlesztesrol van szo.
A debuggerben fejlesztes hatranyait szamomra pont a te altald leirt (edit&continue) eset peldazza. Tervezes es atgondoltsag helyett prblakozas es kiserletezgetes, ami szuksegkeppen felmegoldasokat eredmenyez.
- A hozzászóláshoz be kell jelentkezni
Előre szólok, hogy nem vagyok se programozó, se coder, de ha néha hasonló dolgot kell csinálnom, nem lennék olyan "állat", hogy mindenféle más által már kifejlesztett és elfogadott kódot újra írjak.
Nem lenne ugyanis költséghatékony.
Ha pedig már külső libet használok, bizony jól tud jönni egy jól működő debugger. Leginkább akkor, ha az ember kap egy olyan feladatot, amit az "elődje" 4 hónapos csúszással sem ad át...
- A hozzászóláshoz be kell jelentkezni
Feltéve ha a másik jól írta meg a kódot. Más cuccát is ajánlatos használat esetén is átnézni, mert a rosszul kódolt cucc még sok galibát okozhat.
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
Ja, nyilván, ahol mondjuk 50 programozó dolgozik egy projekten, ott pont lesz időd átnézni mindenki más munkáját.
Figyelj, az nem para, hogy nem értesz alapvető dolgokat, mindenki így kezdte, de úgy ne magyarázz már meg dolgokat, hogy fogalmad sincs róla...
- A hozzászóláshoz be kell jelentkezni
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Ez hogy kapcsolódik a témához, megmondanád?
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
Úgy, hogy abban a topikban remek és körbejárt képet kaptunk a tudásod mértékéről illetve annak hiányosságairól (ezen utóbbiak mértéke jóval nagyobbnak bizonyult), és mindemellett szintén tanúbizonyságot tettél remek extrapolációs képeségeidről, miszerint szerinted azok, akik veled ellentétben értenek is a dolgokhoz, mit és hogyan szoktak (nem találtad el). Ezenfelül azt is megtudtuk, hogy nem ismered eléggé a "szerintem" szó fontosságát, és inkább próbálsz határozottnak tűnni olyan dolgokban, amihez nem értesz, aminek következtében - jobb híján - kénytelen vagy a legnagyobb baromságokat is tényként beállítani.
- A hozzászóláshoz be kell jelentkezni
A téma viszont nem rólam szól, úgyhogy kerüljük a személyeskedést. Ha valamivel nem értesz egyet, akkor mondd el, hogy miért nem, talán tudsz szakmailag érvelni. Lehet, hogy valamit rosszul tudok. Ez mindenkivel előfordul, még egy profival is megeshet ilyen.
Amit pedig azt a témát illeti, ha te nem is, én jó pár értékes információt kaptam, ezért megérte létrehozni. Az a te dolgod, hogy kit, milyen témát hogyan minősítesz, nem vagyok rá kíváncsi, mint ahogy jó sokan mások sem. Kivéve azok, akik másokon csámcsognak, mert úgy érzik, hogy ez még a témánál is fontosabb.
Én csak azt tudom elmondani, ahogy tudom és ahogy látom a dolgokat. Olyan dolgokban tudunk egyetérteni, hogy az 1+1=2, legalábbis 8-as, 10-es, 16-os számrendszerben mindenképp. Ami nem ennyire tényen alapul, ami megkérdőjelezhetetlen, ott nem feltétlenül lehetnek ilyen egyetértések. Hogy ki mikor használja a "szerintem" szót, azt csak akkor tudhatod, ha össze vagy nőve vele.
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
A probléma az, hogy továbbra is tényként állítasz olyan dolgokat, amik maximum szerinted és gyakorlatban inkább nem igaz.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Jó, persze, de ott legalább még kérdezett, itt már csak nyomja a tutit. :D
- A hozzászóláshoz be kell jelentkezni
Pont ott kell igazan atnezni, hogy mit csinal a masik. Code review egyebkent a dolog neve, es illik meghivni ra mindenkit akinek a munkaja erintkezik a tieddel.
szerk. Most olvastam vissza a szálat és látom, hogy már létező kódról van szó. Ebben az esetben valóban problémásabb. :)
- A hozzászóláshoz be kell jelentkezni
Akkor talán nem egy dologra gondoltunk. Azért ha a másik függvényét használod, érdemes megnézni, hogy jó e az a függvény neked, pont azt csinálja e, amit kell, hogy csináljon neked. Ugyanis ha a munkád nem azt csinálja, amit kell, a megrendelőd, munkáltatod nem fogja tolerálni és egyáltalán nem érdekli, hogy saját vagy más által írt függvényt használtál fel e. Jöhetsz akármennyi projekttel, függvénnyel, osztállyal, a te felelőséged az, hogy az általad használt kód jól működjön. Pontosan tudnod kell, hogy egy függvény milyen megszorításokat, ellenőrzéseket tartalmaz, mert azért érthetnek meglepetések. És egyáltalán nem biztos, hogy minden jól van dokumentálva.
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
Ha a másik függvényét kell használnom, és az nem azt csinálja, mint amit kívülről mutat, hogy csinálnia kellene, akkor ott régen bajok vannak. Blackbox modell ismerős? Absztrakció? Interface-ra fejlesztés?
És erre egy 50 fős projektnél általában úgy néz ki, hogy megy a hibajegy annak, aki írta. Egy 50 fős projektnél nincs idő arra, hogy mindenki mindenkinek a kódját átnézze. (Már csak azért is, mert szükségtelen, valószínűleg úgy is kisebb csapatokra van bontva az egész, akik külön modulokon dolgoznak és az egyes modulok egy-egy jól definiált interface-n keresztül kommunikálnak. Ha nem így van, az bazi nagy probléma.)
Ha használok egy függvénykönyvtárat általában nem érdekel, hogy hogyan van megvalósítva (ebbe most beleértendő a házon belül fejlesztett dolgok), csinálja azt, amit állít a dokumentáció. Ha minden függvény előtt meg kellene néznem, hogy az hogy működik, mit csinál, többmillió kódsort kellene átnéznem azok dokumentációja helyett.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
"A debuggerben fejlesztes hatranyait szamomra pont a te altald leirt (edit&continue) eset peldazza. Tervezes es atgondoltsag helyett prblakozas es kiserletezgetes, ami szuksegkeppen felmegoldasokat eredmenyez."
És az miből következik számodra, hogy nem tervezem meg előre, hogy mit akarok megcsinálni, hogy részekre bontom a feladatot és egy részt letesztelek, mielőtt továbbhaladnék azon az úton, amit elterveztem?
"Mi a kulonbseg?"
Az, hogy amikor csak azt a kódot látom, ami le van írva, akkor csak annyit látok, amit elterveztem, hogy csinálnia kell a programnak. Tfh. van egy ilyen:
private void Foobar(Tralala bla1, Tralala bla2)
{
// Paraméterek ellenőrzése
int salala = this.IngyomBingyom.Bizbasz(bla1, bla2);
if (salala > 0)
{
// Akarmi
}
else
{
// Valami tök más
}
}
Látom a kódot, csinál valamit a két paraméterrel egy másik objektum, ami viszaad nekem egy intet. Futtatom két olyan bemeneti értékkel, amiről tudom, hogy a true ágnak kell lefutnia mégis a false ág fut le. (Ez az, amit leírtam). Ilyenkor jövök debuggerrel, megnézem, hogy jó paramétert kap-e a függvényem (nem-e valami másik rétegben romlott el az adat, hiába van ellenőrizve), aztán végiglépkedek a kódon. Ha látom, hogy nem jó irányba megy, akkor meg elő a Bizbasz(Tralala, Tralala) kódját és nézzük, hogy ott mit csinál. (Ez meg a viselkedése). Csak közben egy körön belül le tudom ellenőrizni, hogy valóban jó paraméter jön-e vagy a függvényhívás után van a hiba. (És ezzel máris kizártam a kód egyik felét). Különösen hasznos, mikor többrétegű alkalmazást fejlesztesz vagy több külön alrendszer működik együtt. (Amit mondjuk opcionálisan két külön csapat fejleszt). De ugyanígy debuggerben rá tudok nézni arra is, hogy pl. az IngyomBingyom az valóban egy olyan objektum-e, amire számítottam, nem-e, hogy egy másik osztály lett odapéldányosítva (mert mondjuk dinamikusan változhat bizonyos esetektől függően). Vagy van még egy csomó ötletem, amikor debuggerben egy pillanat alatt kijön, hogy hol a hiba ahelyett, hogy végigolvasnék n*1000 sornyi kódot.
Na, ha csak a kód olvasására bízod magad, akkor mindkét irányban nézheted meg, hogy merre lehet a hiba. (De gondolom, te architect vagy, te tökéletes kódot írsz, így elő nem fordulhat, hogy valahol hiba legyen...)
"a sajat fejlesztesrol van szo."
És csak te egyedül fejleszted, vagy mondjuk van még 8-10 másik ember munkája is a kódban? És nem használsz egyetlen létező külső libet, apit, akármit?
"prblakozas es kiserletezgetes"
Egyébként terveztél már GUI-t? Olyanba még nem futottál bele, hogy fejben úgy gondoltad, hogy valami jó lesz, aztán gyakorlatban mégse?
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Ha egy belső dolgozó lenne, a megfelelő változónevek és kommentek hiánya miatt rég kirúgattam volna. Ha meg ilyen projektet vettem volna át más cégtől, komoly fájdalomdíjat kértem volna rászámolva. Ilyenkor valóban jó lehet a debugger, normális esetben nélkülözni is lehet. Ugyanis lejönne, hogy a kódrész mit csinál, mi a célja és milyen más értelmes dolgot használ.
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
Kommentek kapcsán ajánlom figyelmedbe Robert C. Martin munkásságát!
Van benne valami, hogy a jó és jól olvasható kódhoz nem kell komment vagy ha kell, akkor is minimális.
A legtöbb komment csak a"zajt" növeli.
- A hozzászóláshoz be kell jelentkezni
Egyébként a magam részéről kifejezetten kiakasztónak találom a PHPDoc/JavaDoc/nemtudommianevedocaC#-ban/stb. függvény elejére írt novellákat. Egyrészt, mert egy normális dokumentációt nem helyettesít, csak API docnak jó, másrészt, ha tényleg normálisan meg van írva, akkor iszonyúan meg tudja növelni a zajt. Ebben mondjuk az IDE-k fogyatékossága sem sokat segít. Oké, össze lehet csukni, de macera. Sokkal kulturáltabban nézne ki, ha vizuálisan úgy jelennének meg, mint pl. Wordben a megjegyzések a margón a korrektúra módban.
PHP esetén külön borzasztó, hogy igazából a PHPDoc az részben a nyelvi elemek hiányosságainak pótlására kell. Pl. hogy jelölhessem egy-egy adattag/paraméter típusát, hogy működjön Eclipseben az autocomplete (ami nem picit dobja meg a hatékonyságot).
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
+1
> Sokkal kulturáltabban nézne ki, ha vizuálisan úgy jelennének meg, mint pl. Wordben a megjegyzések a margón a korrektúra módban.
Ez tetszene...
- A hozzászóláshoz be kell jelentkezni
+1, viszont a parenthez hozzatennem, hogy azert a soronkenti komment somszor jobb ha ott van. Pl aki regexpes dolgokat ir komment nelkul, azoknak remelem egy specialis helyuk van a pokolban. En ha meredekebb fuggvenyt irok vagy hivok meg, minimalisztikusan toltom ki a fuggveny folotti doc reszt, akkor is max peldak vannak ott, ellenben a kod kozepen adott sorokban szeretem jelezni hogy itt most epp melyik pelda hova tart. Ezt a legkevesbe se neveznem zajkommentnek, ezert viccen belul sertesnek veszem az elotted szolo hozzaszolasat ;)
- A hozzászóláshoz be kell jelentkezni
Azért neked sem ártana, ha elolvasnád a Clean Code-ot... :D
Nem a kisujjamból szoptam az ötletet, hogy a kódot kell olvashatóra írni, nem utólag kommentben magyarázni, hogy mit miért...
Regexp, ha nem olvasható, azt nyugodtan lehet kommentálni, nincs vele gond. De ne kelljen ötsoros megjegyzés ofvertv() függvény mellé, mert a nevéből csak az derül ki, hogy részegen írtad. ;)
- A hozzászóláshoz be kell jelentkezni
A valtozoim is beszedesek, raadasul pl objective-c-ben tenyleg minimalisat kell kommentelni, mert ott mindig meg kell adni a fuggvenyek paramartereinek a nevet is a parameter elott, igy abban a nyelvben eleve joval kevesebbet szoktam es ugy is nagyon olvashato.
De amikor osszehasonlitom egy krtdimenzios tomb elemet egy masik ketdimenzios tomb elemevel, es a tombindexek is vegiggondolast igenylo valtozokbol vannak osszeteve, olyankor legegyszerubb, ha 3-4 egyszeru peldat kore irok kommentbe, hidd el az "csak javit" rajta, sot, nagyon is segiti az olvashatosagot. Persze mindig fennall ilyenkor a foszabaly: "comments won't run". Ez akkor rossz ha at kell irni a viselkedest, es a lommentet elfelejtik modositani, cserebe viszont hasznos akkor, amikor valami rossz veletlenul, es a masik probal rajonni, hogy mit is akartam ott csinalni, es azalapjan nyulhat az egeszhez.
- A hozzászóláshoz be kell jelentkezni
Esetleg ha magyarul is megtanulnál? ;)
Sehol, senki nem állított olyat, hogy felejtsd el a kommenteket!
Pusztán arról van szó, hogy csak ott, ahol valóban szükséges (bár tény, pl. egy IBM/360-as assembly kód egész jól mutat, mikor minden egyes sora tartalmaz megjegyzést is :) )
- A hozzászóláshoz be kell jelentkezni
Az a jó, hogyha úgy programozol, hogy ne kelljen kommenteket írni. Ránézek a kódodra és hamar megértem, hogy mit is programoztál le. Ha már mindenképpen kell kommentet írni, pl regex a legjobb döntés, akkor is pont annyit kell röviden oda írni, amennyi a megértéséhez elengedhetetlen. De ha változik a kód, a kommentnek is változnia kell, ha úgy van a komment megírva. Martin nem véletlenül írta azt, hogy az egyetlen megbízható forrás a kód. Abból biztosan tudod, hogy mit csinál, egy rosszul írt vagy elavult komment inkább kárt okoz. Ha a kód van rosszul írva, az már programozási hiba.
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
B megoldás: az a 3-4 példa menjen tesztesetbe.
Akkor garantált, hogy le is fut, változást is követi.
---
Régóta vágyok én, az androidok mezonkincsére már!
- A hozzászóláshoz be kell jelentkezni
Az mar nem mindig trivialis, meg nem feltetlenul annyira olvashato, de ugyanakkor az ilyen fuggveny altalaban tenyleg tipikus esete annak, amihez unit test kell.
- A hozzászóláshoz be kell jelentkezni
A megfelelő változónevek és a kommentek nem mentenek meg attól, hogy ne véts hibát. Egyébként meg látom, a lényeget nem sikerült felfogni.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
"Ilyenkor jövök debuggerrel, megnézem, hogy jó paramétert kap-e a függvényem (nem-e valami másik rétegben romlott el az adat, hiába van ellenőrizve)..."
TDD megoldja a problémát :)
- A hozzászóláshoz be kell jelentkezni
Sajnos nem (feltétlenül).
A teszt is lehet hiányos vagy hibásan megírt.
- A hozzászóláshoz be kell jelentkezni
Na a TDD még egy igazi try&error módszer ;)
Egyébként, ha a TDD-n megbukik egy teszt, hogyan állsz neki a hibát megkeresni? :) (avagy GOTO 1)
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Nagyjabol egyrol beszelunk, es ugyanazokat a kroket futjuk. En egy szemleletrol irtam, ami nyilvan elsosorban sajat fejlesztesu kodra alkalmazhato. Akkor is alkalmazhato, ha tobben dolgoznak egy projekten, de a feladatok jol el vannak osztva. (Magyarul nem nyulkal mindenki keresztbe. Egyebkent borzaszto az a projektszervezes, ahol ez megengedett.) Ellenervkent mindig visszajutunk az idegen kodok es library hivasok problemajahoz. Fentebb leirtam, egyetertek, az elv ebben az esetben csak korlatozottan alkalmazhato, de nem is allitottam az ellenekezojet.
A szemelyes kerdesekre: igen terveztem mar GUI-t eleget, debuggoltam is eleget, de jelenleg safety firmware fejlesztessel foglalkozom. Itt nincs GUI, sot libraryk is csak erosen korlatozottan hasznalhatoak (ertsd: gyakorlatilag nincsenek illetve nem hasznalhatoak, volt olyan projekt, ahol a memsetet is magam irtam). Emellet nem irok tokeletes kodt, de torekszem ra.
- A hozzászóláshoz be kell jelentkezni
"Magyarul nem nyulkal mindenki keresztbe. Egyebkent borzaszto az a projektszervezes, ahol ez megengedett."
2,5 szoftverfejlesztő dolgozik a cégnél, milyen projektvezetést akarsz? :)
"En egy szemleletrol irtam, ami nyilvan elsosorban sajat fejlesztesu kodra alkalmazhato."
Viszont egy olyan projekten, amibe 14 ember fejlesztett már bele az évek során.
Másrészt meg, ha valaki más talál a másik kódjában egy hibát, miért ne javíthatná? Attól még, hogy a feladatok el vannak osztva.
----
Az a baj, hogy te eldöntötted egymagadban, hogy az mennyire menő, mikor valaki debugger nélkül fejleszt, ami a te esetedben lehet, hogy alkalmazható is. Meg lehet, hogy időd is van arra, hogy mindig mindent önerőből (meg mazoizmusból) csinálj meg. Viszont van nagyon sok más olyan helyzet, amikor ez nem, vagy csak sokkal nehezebben alkalmazható. És a még szörnyűbb az, hogy próbálod az egészet architekturális kérdésekkel elmaszatolni, aminek meg aztán végképp semmi köze a debuggerhez.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
"Viszont egy olyan projekten, amibe 14 ember fejlesztett már bele az évek során. Másrészt meg, ha valaki más talál a másik kódjában egy hibát, miért ne javíthatná? Attól még, hogy a feladatok el vannak osztva."
Ez azert sokat elarul.
"Az a baj, hogy te eldöntötted egymagadban, hogy az mennyire menő, mikor valaki debugger nélkül fejleszt, ami a te esetedben lehet, hogy alkalmazható is. Meg lehet, hogy időd is van arra, hogy mindig mindent önerőből (meg mazoizmusból) csinálj meg. Viszont van nagyon sok más olyan helyzet, amikor ez nem, vagy csak sokkal nehezebben alkalmazható. És a még szörnyűbb az, hogy próbálod az egészet architekturális kérdésekkel elmaszatolni, aminek meg aztán végképp semmi köze a debuggerhez."
Ez ugy ahogy van butasag. Nem errol szolt a beszelgetes. Sot nem is rolam szolt, bar megprobaltad tobb ponton szemelyes sikra terleni, meg valami egyedi dologkent beallitani, de ez teves.
- A hozzászóláshoz be kell jelentkezni
"Ugy programozok, hogy ne kelljen debugger."
Ezt te írtad. Meg mögé egy olyan megjegyzést, amitől a legtöbb fejlesztő zsebében nyílik a bicska.
Szóval de: te vitted "személyes" síkra és te nyilatkoztál olyan lenéző stílusban, hogy kivételesen jogosnak érzem az effajta reakciókat.
Erre a végén kiderül, hogy olyan környezetben dolgozol, ahol nem is nagyon van lehetőséged debuggerrel dolgozni.
Hát izé...
- A hozzászóláshoz be kell jelentkezni
Van debugger. Akarmennyit hasznalhatnam.
- A hozzászóláshoz be kell jelentkezni
Igaz, a GUI-ea írtad, hogy nem jellemző.
- A hozzászóláshoz be kell jelentkezni
"Ez azert sokat elarul."
Pl.?
"Ez ugy ahogy van butasag. Nem errol szolt a beszelgetes. "
Az egész arról szól, hogy te lényegében kijelentetted, hogy aki debuggert használ, az csak szar kódot írhat, majd utána a magad szűk világának prekoncepcióit próbáltad kivetíteni minden másra. Kezdve mondjuk azzal, hogy mi köze az architektúrának a debuggerhez, amire még mindig nem kaptam választ.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
"Az egész arról szól, hogy te lényegében kijelentetted, hogy aki debuggert használ, az csak szar kódot írhat"
Ilyet nem mondtam. Azt mondtam, hogy aki debuggerben fejleszt azoknak olyan is a kodjuk. (Olvass vissza, ahelyett, hoy kiforgatod a szavaimat.) Jellemzoen nem az atgondolt tervezes hanem a "trial&error" szemleletben dolgoznak. Ennek meg is van az eredmenye.
"magad szűk világának prekoncepcióit"
Nincs szuk vilagom. Eleg szeles skalan mozognak azok a projektek,amiben reszt vettem. Mind szakterulet, mind meret, mind pedig fejlesztesi modszerek szempontjabol. De mar megint az en szemelyemmel foglalkozunk, pedig ...
"mi köze az architektúrának a debuggerhez"
Sajnaltos, hogy nem erted, pedig leritam mar tobbszor. A megfelelo architekturalis tervezes jo kodstrukturat eredmenyez (legalabbis nagyban elosegiti), ami atlathato, karbantarthato, ezert a hibakereshez jellemzoen nincs szukseg debuggerre. Neha kell, de az ritka.
Erre irtam, hogy ugy kodolok, hoy ne kelljen debugger. De mar kinos erre ennyi szot vesztegetni. Mar idelinkelehtnem, hogy hanyszor irtam le ugyanazt, megis csak sertett emberek vagdalkozasa jon vissza.
- A hozzászóláshoz be kell jelentkezni
"Jellemzoen nem az atgondolt tervezes hanem a "trial&error" szemleletben dolgoznak."
Sokadszor adod a számba, hogy debuggerben fejesztés = trial & error. Mondtam már, hogy ne a saját prekoncepcióidból indulj ki.
"ami atlathato, karbantarthato, ezert a hibakereshez jellemzoen nincs szukseg debuggerre."
Aztán valami mégsem úgy működik, ahogy előzetesen eltervezted. Akkor mit csinálsz? Nekiállsz 100k sornyi kódot átolvasni?
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Mi a kulonbseg? Ha ertem, hogy mit irtam le, akkor tudom, hogy hogyan mukodik, es forditva. Mit kell azon viszgalni?
- könnyen lehet egy nagyon triviális elírás (pl. == helyett =, a paraméterátadás csak érték szerinti, miközben a függvényben változtatod, stb.)
- matematikai elmélet megvalósításában (ha olyan függvényt csinálsz) két értéket véletlenül felcseréltél, esetleg egy "beépített" függvény nem úgy működik, ahogy "gondolod" (pl. a cos fgv paraméterét elfelejted radiánba átváltani)
- esetleg a fenti két esetben vázolt függvényt használsz egy olyan függvényben, amely jól működne, ha a hívott függvények jól működnének
- ld. saxus
- stb.
"Elméletileg az elmélet és a gyakorlat között nincs különbség. Gyakorlatilag van."
- A hozzászóláshoz be kell jelentkezni
>esetleg a fenti két esetben vázolt függvényt használsz egy olyan függvényben, amely jól működne, ha a hívott függvények jól működnének
Nincs is szebb mint egy optimalizalt memcpy() ami num%8==7 esetben (es csak ebben az esetben) egy bajttal tobbet masol... :)
- A hozzászóláshoz be kell jelentkezni
Az optimalizáció jobban teljesít!
- A hozzászóláshoz be kell jelentkezni
Számomra a debugger pont olyan dolog mint a logic analyzer: tudom hogy kell használni, szeretem ha van, de nagyon rossz napom van ha már használnom kell.
Főként olyan dolgokkal foglalkozom amit elég jól ismerek ahhoz, hogy pár debug üzenet után meglegyen a probléma. (Már eleve logol eleget ahhoz, hogy csak kis területen kelljen keresni.) Így a debugger csak akkor kerül elő ha ismeretlen területre tévedek, több szál érintett a hibában, heap/stack corruption van, vagy ügyféltôl származó coredump-ba kell belenézni.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Én vagyok a debugger!
Ha gond van, megpróbálok rájönni, hogy hol lehet a hiba. A tünetek, beépített hibaüzenetek segítenek benne. Eddig működött.
Persze minél nagyobb a rendszer, annál nagyobb ész kell átlátni a rendszert, annál inkább szükség van jobb hibaüzenetek generálására, jobb kommentek írására.
Nem hiszek debugger eszközökben, valahogy nem volt rá szükségem eddig. Ettől függetlenül lehet hasznos bárki számára.
......................
Egymás segítésére még: http://pc-kozosseg.com
- A hozzászóláshoz be kell jelentkezni
Barmilyen hiba eseten en is megprobalom atgondolni (fejben futtatni :-) a kodot, hatha mar igy is megtalalom a hibat.
Masreszt, a topic inditoja valoszinuleg nem embedded fejlesztessel kapcsolatban tette fel a kerdest, viszont paran kitertek arra is. Egy mikrokontrollernel viszont nagysegrendekkel kisebb az eselye, hogy tamaszkodhatsz a hibauzenetekre (sok esetben konvergal a nullahoz...).
Ha magam irok valamit, from the scratch, konnyebb a helyzet. De ha pl. valaki mas altal irt programban kell megtalalni a hibat, sokszor az is kihivas, hogy megertse az ember, hogy mit is akart a masik.
Egy talan nem tul jo pelda: kepzeljuk el azt az autoszerelot, aki nem hajlando vegignezni az autot (ergo a hibajelenseg alapjan vegigprobalgatni a lehetseges reszeket ahol hiba lehet), hogy mi a gond, hanem csak a gepkonyv (meg esetleg a muszerfalo levo visszajelzok) alapjan probal megoldast talalni.
A debugger nem a gondolkodas HELYETT hanem MELLETT van. Tobb kommentbol ugy tunik, vannak akik maskepp latjak.
/sza2
- A hozzászóláshoz be kell jelentkezni
Én nem használok, mégpedig azért, mert belenyúl a realtime folyamatokba.
ledON/ledOFF (3 is van a klaviaturán!), oszt jónapot.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
"ezek még diplomák voltak" ;)
- A hozzászóláshoz be kell jelentkezni
Ahogy mondani tetszik (-::
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni