Kezdőoldal » Számítástechnika » Programozás » Tapasztalt programozok/szoftve...

Tapasztalt programozok/szoftverfejlesztok mit tesznek ilyenkor?

Figyelt kérdés

Gyakorlaton vagyok egy cegnel, gyakorlatilag en vagyok a "szoftverreszleg", mivel a cegnel nincs mas, aki desktopszoftverrel foglalkozna. A szoftver (C#, nehany egyszerubb feature, adatok lekerdezese es adatbazisba mentese kulonbozo embedded eszkozokbol egy sajat wireless protokollal, ill. az eszkozok teljesitmenyenek tuningolasa) kb. 15 ezer LOC a Visual Studio szerint, abszolut semmilyen dokumentacio (pl. UML) es forraskodkommentar nincs hozza, van viszont rengeteg bug es beepiteni kivant feature.


Milyen modszerekhez folyamodtok ilyenkor?



2013. júl. 26. 06:50
1 2
 1/14 anonim ***** válasza:
85%
Röhögünk egy jót és 9gag-ezünk tovább.
2013. júl. 26. 07:38
Hasznos számodra ez a válasz?
 2/14 zsomkovacs ***** válasza:
100%
15000 sor még nem a halál. Ha nincs sok megkötés a feladatok megoldási sorrendjére, akkor kezdj el néhány hibát debuggolni, Visual Studioval elég jól lehet, és próbáld megérteni, hogy az aktuális kódrészlet éppen mit csinál. Ha sok az időd, nyugodtan kommentelj is bele. Illetve azzal is próbálkozhatsz, hogy az elejétől végigköveted a program futását, nézed, hogy hova kerül a vezérlés különféle interakciók hatására.
2013. júl. 26. 08:29
Hasznos számodra ez a válasz?
 3/14 iostream ***** válasza:
100%

A LOC pont annyi karakter, mint a sor.

Amúgy gyakorlaton én egy kb 60k soros C kódot (amiből 40k sor EGY fájlban volt, igen) prüntyöltem, ami bináris fájlokat nyálazott végig és cseszegetett, tehát viszonylag nehéz volt követni a változtatásokat.


Nem lehetetlen, 15k sor az szinte semmi. Számíthatsz arra, hogy az elnevezések viszonylag logikusak lesznek, meg kell találni egy funkcionalitás gócpontját, és debuggolni. A VS elég okos debuggolásban, szóval sok sikert.

2013. júl. 26. 09:39
Hasznos számodra ez a válasz?
 4/14 anonim ***** válasza:
100%

Első körben rohadtul káromkodunk, és szidjuk a felmenőit annak a kontárnak, aki nem tud olyan kódot írni, ami kezelhető (btw kommentezni általában nagyon rossz ötlet, de ebbe most nem folynék bele, privátban nagyon szívesen elmagyarázom, ha akad egy kis időm).


Annyit tudsz tenni, hogy írsz hozzá unit teszteket, amelyekben kvázi megtippeled, mi hogyan működik. A test case -ek rá fognak vezetni, hol stimmelnek az elképzeléseid, ill. hol merrefelé kell tapogatózni.


Ha megvannak a tesztek, el tudod kezdeni refaktorálni a kódot, mivel már van, ami biztosítja, hogy azonnal észrevedd, ha eltörsz valamit.


A másik lehetőség (szinte garantált, hogy elhajtanak), hogy jelzed, hogy a kód használhatatlan, és újra kell írni. Ide elég meggyőző érvekre lesz szükség, hogy egyáltalán meghallgassanak. Ha rábólintanak, meg lehet írni tisztességes minőségben. Juniorként/gyakornokként ez persze nem olyan egyértelmű, de ebben spec pont tudok segíteni.


Első körben itt egy kiváló könyv:

[link]


Főleg Java alapokra épít, de ez a lényeg szempontjából nem érdekes, pláne, hogy a C# és a Java meglehetősen hasonló. Ha a benne levőket megfogadod, tudni fogod, mit szabad és mit nem. Ezen felül vannak benne tanácsok/praktikák pont ilyen esetekre is, mint a tiéd.

Elég hosszú, de megéri elolvasni.


Mindenképpen kezdd el legalább apránként refaktorálni a kódot, különben bele fogsz fulladni előbb-utóbb.

2013. júl. 26. 09:50
Hasznos számodra ez a válasz?
 5/14 iostream ***** válasza:
100%
+1 utolsónak, pont ezt csináltam én is: unitteszt és refaktorálás. A tesztelés a legjobb módja a fícsörök felmérésének.
2013. júl. 26. 10:23
Hasznos számodra ez a válasz?
 6/14 anonim ***** válasza:
100%

Én ugyan nem vagyok szoftverfejlesztő, de szerintem ha már bele kell ásni magad a dolgokba, lehet, hogy érdemes a munkaidőd egy részét a hiányzó dokumentáció pótlására fordítani. Abból lesz valami látványos, amit le tudsz tenni az asztalra, és elmagyarázhatod, hogy hosszú távon ez jó nekik, és esetleg megértik, mit kéne legközelebb elvárniuk egy fejlesztőtől.


Valami hasonlóval foglalkozom én is, becsöppentem egy cégnél egy külső fejlesztő által gányolt, teljesen dokumentálatlan rendszerbe, amit a fejlesztő egy másik cégnek készült rendszerből barkácsolt át, de ki se dobta a fölösleget, ő se emlékszik rá, hogy működik a dolog, de tőlem bezzeg pontosan specifikált fejlesztési kéréseket vár. Így hát megpróbálom magamnak pótolni a dokumentációt, hogy legalább én értsem, mi hogyan működik.

2013. júl. 26. 11:44
Hasznos számodra ez a válasz?
 7/14 A kérdező kommentje:
Koszonom a hozzaszolasokat, ment mindenkinek egy zold mancs.
2013. júl. 26. 14:38
 8/14 anonim ***** válasza:
10%
Ha az osztályok külön fájlban vannak, vagy más módon van bontva, akkor először a fordítási hibákra koncentrálnék, külön-külön. Ha önállóan lefordulnak tárgykódra, akkor jöhet a többi hiba.
2013. júl. 26. 16:30
Hasznos számodra ez a válasz?
 9/14 Sab válasza:
15k sor! en 1 millio-t kezelek, igaz a mar tolom nehany eve.:)csak annyit tudnek szolni, mint az elottem szolok, unit-test es refactoring, es JEGYZETEK! Ird le mely metodus hiv mit, es kovesd vegig "down the line", ugyanez class-okkal stb... Resharper az egyik leghasznosabb tool refactoring-ra, azt nagyon ajanlanam, de igazabol nem csak arra jo.
2013. júl. 28. 04:15
Hasznos számodra ez a válasz?
 10/14 A kérdező kommentje:

1 millio LOC-bol mi jon ki? :)

Mondjuk a method call-okat szerencsere konnnyu kovetni VS-ban, a call stacket is figyelem allandoan, a baj az, hogy a bugok, amiket meg nem tudtam megoldani, tobbnyire cross-thread es InvalidAsynchronousStateExceptionok, Control.Invoke minden lyukbol. Valoszinu ujra kell irni az egeszet, mert igy semmi ertelme tovabb adni.

2013. júl. 29. 13:37
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!