> аз като ми секнат хинтовете за агрументите на функции и мембери на калсове и
> издивявам.
Като каже някой нещо подобно и се сещам за една история, която май само на мен ми е смешна. Преди няколко години трябваше да оправям някакъв клас, писан от колега с IDE. Та в този клас има дефинирано поле lambda, аз си пиша методите, които ми трябват, пускам компилатора -- не иска да се компилира, lambda бил непознат идентификатор. Гледам, пуля се, всичко изглежда наред. След 20 минути усилено пулене, забелязвам, че полето е дефинирано като lamdba, а не lambda. И понеже след първото написване на името повече гордия ползвател на IDE не го е писал повече, имаше повече от 30 места, където си беше написано lamdba. :)
> а дебъгер? как си решил тоя въпрос. дебъгера без иде не си го представям.
Понякога използвам дебъгер, но не много често, затова gdb на командния ред ме устройва. Едно време използвах разни GUI-та (като DDD например), които да правят gdb красив, но вече не виждам смисъл от тях. Като свикнеш да дебъгваш ядрото на Линукс без дебъгер, всички останали програми са лесни.
Ето един цитат от книга на двама програмисти, които уважавам, добре обяснява и моя начин на дебъгване:
As a personal choice, we tend not to use debuggers beyond getting a stack trace or the vale of a variable or two. One reason is that it is easy to get lost in details or complicated data structures and control flow; we find stepping through a program less productive than thinking harder and adding output statements and self-checking code at critical places. Clicking over statements takes longer than scanning the output of judiciously-placed displays. It takes less time to decide where to put print statements than to single-step to the critical section of code, even assuming we know where that is. More important, debugging statements stay with the program; debugger sessions are transient.
Blind probing with a debugger is not likely to be productive. It is more helpful to use the debugger to discover the state of the program when it fails, then think about how the failure could have hapened.
...
A debugger can be of enormous value, however, and you should certainly include on e in your debugging toolkit; it is likely to be the first thing you turn to. ...
За да не започне някоя караница, искам да изясня, че не твърдя, че моят начин за програмиране е по-добър от вашия. За мен _лично_ е по-добър, YMMV. Но мисля, че е полезно да получите поглед, различен от този на монокултурата, в която виреете. Поглед от моята монокултура ;)
Редактирано от | на 14.05.07 15:55.
|