малко етика
24 отговора
1257 прегледа
малко етика
един въпрос по тънката част... не тая тънка част, която ви се мотае из мръсните подсъзнания де
как реагирате ако видите код на колега, част от "отбора", който е направо кошмарен, нечитаем, грозен и изобщо нетърпим. да оставим, че се посмях малко на бисерите... после ми се доплака, щото трябва да работя с тва нещо
. искам да си поговоря с тоя човек ама не знам как. как да обясня, че е хубаво да има по-културни имена на променливите, да няма функции от по 10 екрана код дето се разлистват мощно надясно в 5-6 вложени if блока и т.н. как да обясня, че ми се струва тъпо да вкараш МФЦ супорт в компонента само щото си фен на ЦСтринг и не си чувал за std::string да не говорим, че и съм инсталирал WTL дето си има ЦСтринг почти идентичен с тоя на МФЦ с тая разлика, че можеш да си го вземеш и ползваш само него.
изобщо как да обясня какво е читаем код, без да влизам в папагалско-даскалска позиция и как да избягна подтекста "глей ся колко си глупав и не можеш да пишеш и трябва аз да ти обяснявам". мислех си за събиране на всички и разбиране за конвенция за кода на всички -- та после с чиста съвест да удрям тесли с оправданието "шшш, бастун, пак не си спазвал конвенцията". ако знаете някой линк с хубава конвенцийка -- пускайте го... или кажете как е във вашата фирма.
ние сме малко хора и работим предимно по малки неща... под всякаква критика сме ако вземем да речем теста на джоел [линк] сега мисля да почвам да се боря и да го променя тва... да видим ще ми стигнат ли силиците
айде мерси предварително
8ми дан по икебана
как реагирате ако видите код на колега, част от "отбора", който е направо кошмарен, нечитаем, грозен и изобщо нетърпим. да оставим, че се посмях малко на бисерите... после ми се доплака, щото трябва да работя с тва нещо
изобщо как да обясня какво е читаем код, без да влизам в папагалско-даскалска позиция и как да избягна подтекста "глей ся колко си глупав и не можеш да пишеш и трябва аз да ти обяснявам". мислех си за събиране на всички и разбиране за конвенция за кода на всички -- та после с чиста съвест да удрям тесли с оправданието "шшш, бастун, пак не си спазвал конвенцията". ако знаете някой линк с хубава конвенцийка -- пускайте го... или кажете как е във вашата фирма.
ние сме малко хора и работим предимно по малки неща... под всякаква критика сме ако вземем да речем теста на джоел [линк] сега мисля да почвам да се боря и да го променя тва... да видим ще ми стигнат ли силиците
айде мерси предварително
8ми дан по икебана
Otnosno convention
Zdravei Grouchy,
tova s konvenciata izobshto ne e truden problem - dori da ne tursish gotova a da sednete i prosto napishete 2 stranici s pravila, koito vsichki da nauchat i polzvat. Tuk problema e sus samodisciplinata na programista da se pridurja kum neshto utvurdeno - a takova kachestva prosto mnogo chesto lispvat. Moiat suvet e da se zadulbochish ne kak da tursish konvecia a kak da nakarash kolegite si da ia vupriemat nai-bezbolezneno...
Pozdravi,
Nikolai
P.S. Az sushto ne sum durto magare (23) :-)
tova s konvenciata izobshto ne e truden problem - dori da ne tursish gotova a da sednete i prosto napishete 2 stranici s pravila, koito vsichki da nauchat i polzvat. Tuk problema e sus samodisciplinata na programista da se pridurja kum neshto utvurdeno - a takova kachestva prosto mnogo chesto lispvat. Moiat suvet e da se zadulbochish ne kak da tursish konvecia a kak da nakarash kolegite si da ia vupriemat nai-bezbolezneno...
Pozdravi,
Nikolai
P.S. Az sushto ne sum durto magare (23) :-)
Re: малко етика
Мда, голям проблем е с тези кунвьенции. Всеки реве колко хубаво било да се спазват, колко полза имало и т.н. (говоря по принцип, не конкретно за тоя случай). Обаче много малко хора си правят труда да спазят най-елементарната конвенция - правилното отместване на кода. Леле на какво съм се нагледал - направо да ти стане лошо от старание на разбереш кой цикъл в кой е вложен.
Той резултатът не закъснява - идване събота и/или неделя, стоене до късна доба (разбирай 4 часа сутринта), постоянно напрежение около ос..ния проект и кво ли още не.
Тия дни ще се поразровя да някой фрапиращ куриоз и ще го постна, ако не за друго, поне да се види, че има и много по-зле от нас
A Jedi, what do you know
Той резултатът не закъснява - идване събота и/или неделя, стоене до късна доба (разбирай 4 часа сутринта), постоянно напрежение около ос..ния проект и кво ли още не.
Тия дни ще се поразровя да някой фрапиращ куриоз и ще го постна, ако не за друго, поне да се види, че има и много по-зле от нас
A Jedi, what do you know
Re: малко етика
smiatash li che oficialnoto priemane na opredelena konvencia shte ima niakakvo znachenie?
predstavi si sega che konvencia ima - cial dokument izraboten s primerite i rozichkite po nego, i pobit na vidno miasto, che source control ima, che sistema za builds ima, i che tvoia kolega checkva-in kod koito ne se kompilira, i koito ne samo che e bezkraino grozen, ami na vsichikoto otgore ne se chete vaobshte zashtoto ne e indent-nat? vijdal li si kak tvoi kolega capva edna zatvariashta skoba nai-otdolu za da mu se kompira koda, zashtoto ne moje da nameri greshkata, poneje razbirash li niakoi ot funkciite mu(ot po niakolko ekrana) sa s po dve otvariashti skobi - edna na sushtia red i edna na sledvashtia? ako napravim konkurs za nai-grozen kod, uveriavam te, tozi shte sloji v malkoto si djobche vseki..
problema s konvenciyata e che tia nikoga ne moje da ugodi na vsichki. 'golemite' programisti smiatat che tehnata e po-dobra i produljavat da si praviat kakvoto si znaiat. kakvo ot tova che posle trudno trackvash promenite - vajnoto e na tiah da im haresva.. iavno v opredelenieto 'goliam programist' vliza i praviloto da si nalagash bozavia stil. ako si profesionalist konvenciyata ne bi triabvalo da ima znachenie za teb - prosto ia priemash kakvato e i ia spazvash. vurvi im go obiasni obache...
sujaliavam za dozata skepticizum, no naistina smiatam che e po-dobre da ne si trovish nervite - samo shte se razocharovash
predstavi si sega che konvencia ima - cial dokument izraboten s primerite i rozichkite po nego, i pobit na vidno miasto, che source control ima, che sistema za builds ima, i che tvoia kolega checkva-in kod koito ne se kompilira, i koito ne samo che e bezkraino grozen, ami na vsichikoto otgore ne se chete vaobshte zashtoto ne e indent-nat? vijdal li si kak tvoi kolega capva edna zatvariashta skoba nai-otdolu za da mu se kompira koda, zashtoto ne moje da nameri greshkata, poneje razbirash li niakoi ot funkciite mu(ot po niakolko ekrana) sa s po dve otvariashti skobi - edna na sushtia red i edna na sledvashtia? ako napravim konkurs za nai-grozen kod, uveriavam te, tozi shte sloji v malkoto si djobche vseki..
problema s konvenciyata e che tia nikoga ne moje da ugodi na vsichki. 'golemite' programisti smiatat che tehnata e po-dobra i produljavat da si praviat kakvoto si znaiat. kakvo ot tova che posle trudno trackvash promenite - vajnoto e na tiah da im haresva.. iavno v opredelenieto 'goliam programist' vliza i praviloto da si nalagash bozavia stil. ako si profesionalist konvenciyata ne bi triabvalo da ima znachenie za teb - prosto ia priemash kakvato e i ia spazvash. vurvi im go obiasni obache...
sujaliavam za dozata skepticizum, no naistina smiatam che e po-dobre da ne si trovish nervite - samo shte se razocharovash
Re: малко етика
аз съм оптимист :) не сме много хора и никой не се прави на голям... още повече, че сме на един акъл и веднъж сондирах почвата и срещнах разбиране.
примера, който даваш е ужасяващ... дано да не го виждам на живо. точно такива неща се опитвам да елиминирам. индентацията не мисля, че ще е проблем.
намерих много културна конвенция тук: [линк] открих и т.нар. ccdoc дето мяза на джавадок и мисля и него да закача покрай другото.
надявам се на успех и мисля да работя повече за да убедя другите -- в краен случай ако чета повечко и ги уча в движение може да поемат нещо без да ги карам да се напъват насила (тва от никого не мога да го искам щото знам, че не обичам да ме карат и мен така). то това ми е и основния коз де -- че ще свърша всичко
8ми дан по икебана
примера, който даваш е ужасяващ... дано да не го виждам на живо. точно такива неща се опитвам да елиминирам. индентацията не мисля, че ще е проблем.
намерих много културна конвенция тук: [линк] открих и т.нар. ccdoc дето мяза на джавадок и мисля и него да закача покрай другото.
надявам се на успех и мисля да работя повече за да убедя другите -- в краен случай ако чета повечко и ги уча в движение може да поемат нещо без да ги карам да се напъват насила (тва от никого не мога да го искам щото знам, че не обичам да ме карат и мен така). то това ми е и основния коз де -- че ще свърша всичко
8ми дан по икебана
Re: малко етика
nachina po kojto kazwash "bozawia stil" si lichi che i ti si goljama programistka - imashta mnenie shto e tova dobur i shto e tova grozen stil.
nastrana tova... naj-golemia problem sa hard i soft tabovete - polovinata ni firma raboti sus hard-tabs-4-space, drugata sus soft-tabs-2-space - i imame dve obshti biblioteki za grafika i sound i po sounda rabotim 8-9 choveka nepostojanno no ot razlichni ekipi - majkata ni sa eba - osobeno kato Windiff-a trebe da mergwa.
inache s ostanaloto sum suglasen s "edno momiche". Ne moe se ugodi na nikoj.
tirulirutatuutuu
nastrana tova... naj-golemia problem sa hard i soft tabovete - polovinata ni firma raboti sus hard-tabs-4-space, drugata sus soft-tabs-2-space - i imame dve obshti biblioteki za grafika i sound i po sounda rabotim 8-9 choveka nepostojanno no ot razlichni ekipi - majkata ni sa eba - osobeno kato Windiff-a trebe da mergwa.
inache s ostanaloto sum suglasen s "edno momiche". Ne moe se ugodi na nikoj.
tirulirutatuutuu
Re: малко етика
oshte edin problem s konvenciata e che chesto trjabwa da rabotish sus sorsove pisani ot chuzhdi firmi ili drugi 1st/2nd party studia na firmata. Nad 1000 choveka firma i 5 studia i ne mozhe da se postigne tova.
W momenta rabotim ot dve godini na basata na edin sors na firma kojato dori ne e 1st party - i zasega spazwame tehnite konvecii - w momenta kojto pochwame da otdeljame wreme da si opravjame sorsa i nastava burtwhezh koj koga kakvo updatetval.
tirulirutatuutuu
W momenta rabotim ot dve godini na basata na edin sors na firma kojato dori ne e 1st party - i zasega spazwame tehnite konvecii - w momenta kojto pochwame da otdeljame wreme da si opravjame sorsa i nastava burtwhezh koj koga kakvo updatetval.
tirulirutatuutuu
Re: малко етика
mojebi vaprosnia covek da si misli sastoto i za tvoia kod!
az sasto si misal ce moia sors e "po-krasiv" ot na drugite!
vajnoto e kato sa rabotite v ekip parvo da sednete da se razberete!!!
ako nemojete da se razberete za celta ima sef, koito da vi "razbere"
az sasto si misal ce moia sors e "po-krasiv" ot na drugite!
vajnoto e kato sa rabotite v ekip parvo da sednete da se razberete!!!
ako nemojete da se razberete za celta ima sef, koito da vi "razbere"
Re: малко етика
az sum *edinstvenia* programist sred kolegite mi koito se pridurja kum konvenciyata - bez znachenie che koda koito pisha @home izglejda po razlichen nachin
i da, opredeleno imam mnenie - kato te gledam kakav si grozen moga da si predstavia kakav ti e koda...
a i btw, tova s tabovete e za detskata gradina. mojesh da im go predadesh ot men
i da, opredeleno imam mnenie - kato te gledam kakav si grozen moga da si predstavia kakav ti e koda...
a i btw, tova s tabovete e za detskata gradina. mojesh da im go predadesh ot men
Re: малко етика
az moga da vi postna biseri na chovek koito e pisal chast ot dir.bg i biva smiatan za goliamo linux guru.......toia chovek mi ubi viarata vuv vsichko, sega na nikoi ne viarvam dokato ne vidia...inache to v bg mai problema ni e sus samodisciplinata, taman tia dni si govorehme che po razglezeno neshto ot bg programist niama
karam zaika zashtoto moga!
karam zaika zashtoto moga!
Re: малко етика (i so malko kiutek)
vsqka software firma s rykovodstvo ne syvsem izvyn realnosta, trqbva da misli za zashtita na investiciite si v know-how. za nqkoi ot pisheshtite tuk znam che rabotqt za mnogo stabilni kompanii i se uchudih ot neserioznite im postingi po vyprosa.
za da ne izleze tona mi mentorski a naistina prakticheski nasochen, neka priemem che davam primerna vyzmojnost:
1. vyv firmata ima definirani globalno vajashti pravila otnosno developmenta i kodiraneto v chastnost. Trudno e da si predstavim start s ogromna sistema ot pravila, obiknovenno poleznite pravila si idvat s vremeto postepenno. Vse pak dobro nachalo e da se polzva opita na drugi ot bransha i da ne se gubi prekaleno mnogo vreme v sporove.
2. za vseki proekt se dopuska razshirqvane na obshtite pravila po usmotrenie na project rykovoditelq. tova moje da otchita naprimer konkretna tehnologiq.
3. rykovodstvoto e gotovo da plashta za sledene na standartite i iziskva ot QA (otdel po kachestvoto) da provejda code review. Kod narushavasht pravilata ne se schita za zavyrshen i se vryshta na programista.
4. dobre e vyv firmata da ima pone edin blagorazpolojen starshi programist koito da obqsnqva na prelitashtite ot dalechni zemi papagali vse pak polzata ot coding standartite - nasila hubost trudno se poluchava. za koito artistizma e po-vajen ot uspeha na firmata, trqbva qsno da mu se pokajat drugi sferi kydeto bi mogyl da se izqvqva po svobodno.
+
za da ne izleze tona mi mentorski a naistina prakticheski nasochen, neka priemem che davam primerna vyzmojnost:
1. vyv firmata ima definirani globalno vajashti pravila otnosno developmenta i kodiraneto v chastnost. Trudno e da si predstavim start s ogromna sistema ot pravila, obiknovenno poleznite pravila si idvat s vremeto postepenno. Vse pak dobro nachalo e da se polzva opita na drugi ot bransha i da ne se gubi prekaleno mnogo vreme v sporove.
2. za vseki proekt se dopuska razshirqvane na obshtite pravila po usmotrenie na project rykovoditelq. tova moje da otchita naprimer konkretna tehnologiq.
3. rykovodstvoto e gotovo da plashta za sledene na standartite i iziskva ot QA (otdel po kachestvoto) da provejda code review. Kod narushavasht pravilata ne se schita za zavyrshen i se vryshta na programista.
4. dobre e vyv firmata da ima pone edin blagorazpolojen starshi programist koito da obqsnqva na prelitashtite ot dalechni zemi papagali vse pak polzata ot coding standartite - nasila hubost trudno se poluchava. za koito artistizma e po-vajen ot uspeha na firmata, trqbva qsno da mu se pokajat drugi sferi kydeto bi mogyl da se izqvqva po svobodno.
+
Re: малко етика
Аз почвам да псувам да викам и да раздавам правосъдие ако някой не спазва конвенциите. :-)
Повдигни въпроса абсолютно сериозно. Ако трябва намеси и шефовете.
Не си играйте да измисляте конвенция. Вземете някоя готова. Добавете само малко правила специфични за съответния проект. Като да не се ползва MFC или ползвайте това вместо онова.
Този, който не спазва правилата АУТ от проекта и да ходи да се оправя. И без това повечето фирми сега съкращават и лесно може да се намери заместник на въпросния човек. :-)
Съжалявам, че съм толкова краен но ми е писнало да се занимавам с хора, които не знаят или знаят и не спазват конвенциите.
Повдигни въпроса абсолютно сериозно. Ако трябва намеси и шефовете.
Не си играйте да измисляте конвенция. Вземете някоя готова. Добавете само малко правила специфични за съответния проект. Като да не се ползва MFC или ползвайте това вместо онова.
Този, който не спазва правилата АУТ от проекта и да ходи да се оправя. И без това повечето фирми сега съкращават и лесно може да се намери заместник на въпросния човек. :-)
Съжалявам, че съм толкова краен но ми е писнало да се занимавам с хора, които не знаят или знаят и не спазват конвенциите.
Re: малко етика
nachi za coding convenciite - az gi delq na 2 vida:
ednite, pri koito kato se pusne celiq source prez beautifier, i neshtata se opravqt - t.e. tabulacii, skobi, intervali otpred otzad i t.n...
ostanalite - s koito ne e tolkova lesno da se opravish.. no i tam samo konvenciq nqma nikoga da nakara 1 kalpav programist da pishe dobyr kod.
a inache pri nas ili starshi programist reve, kato vidi nqkoq gadost, ili QA pishe bugove, ili se otpuska vreme za opravqne na koda (e - pone beshe taka edno vreme :(
ednite, pri koito kato se pusne celiq source prez beautifier, i neshtata se opravqt - t.e. tabulacii, skobi, intervali otpred otzad i t.n...
ostanalite - s koito ne e tolkova lesno da se opravish.. no i tam samo konvenciq nqma nikoga da nakara 1 kalpav programist da pishe dobyr kod.
a inache pri nas ili starshi programist reve, kato vidi nqkoq gadost, ili QA pishe bugove, ili se otpuska vreme za opravqne na koda (e - pone beshe taka edno vreme :(
Re: малко етика
много хубави мнения видях и ще се опитам да дообясня тук :)
значи проблема не е толкова в красивия и грозния код -- виждал съм код, който е супер грозен (според мен) но си има разни правила и като ги видиш, става лесно читаем. не съм имал предвид да се гоним до последната скоба или запетайка в някоя конвенция -- тва си е малък ужас. както каза емо -- има си разни бютифайъри (не че съм намирал свестен досега де :( емо, ти какво ползваш?)
проблема е друг -- става въпрос просто за лош, калпав код. код в който функция е мръсна дума -- всичко е на едно и според мен е събирано с копи/пейст. е може и да не е така, но като видя функции дълги по 250 реда за такова нещо си мисля.
конвенцията, която споменах не беше основния аргумент -- просто си мислех, че може да послужи при решаването на проблема. колкото повече мисля се убеждавам, че единственото спасение е много писане и четене на код, а аз няма как да накарам някого насила да върши такива неща.
идват ми и други неща на акъла. вкарване на инструменти като документация :) имам предвид в кода и после генериране на хтмл или нещо друго -- doxygen или нещо подобно дето да мяза на javadoc. току виж и малко uml та да четем по-малко и да гледаме шарени картинки :).
колкото до отнасянето до шефа -- не бих го направил дори и да съм прав. не мисля, че мога да понеса отговорността пред себе си за това, че са уволнили някого... поне не засега, поне не за такива несъответствия.
8ми дан по икебана
значи проблема не е толкова в красивия и грозния код -- виждал съм код, който е супер грозен (според мен) но си има разни правила и като ги видиш, става лесно читаем. не съм имал предвид да се гоним до последната скоба или запетайка в някоя конвенция -- тва си е малък ужас. както каза емо -- има си разни бютифайъри (не че съм намирал свестен досега де :( емо, ти какво ползваш?)
проблема е друг -- става въпрос просто за лош, калпав код. код в който функция е мръсна дума -- всичко е на едно и според мен е събирано с копи/пейст. е може и да не е така, но като видя функции дълги по 250 реда за такова нещо си мисля.
конвенцията, която споменах не беше основния аргумент -- просто си мислех, че може да послужи при решаването на проблема. колкото повече мисля се убеждавам, че единственото спасение е много писане и четене на код, а аз няма как да накарам някого насила да върши такива неща.
идват ми и други неща на акъла. вкарване на инструменти като документация :) имам предвид в кода и после генериране на хтмл или нещо друго -- doxygen или нещо подобно дето да мяза на javadoc. току виж и малко uml та да четем по-малко и да гледаме шарени картинки :).
колкото до отнасянето до шефа -- не бих го направил дори и да съм прав. не мисля, че мога да понеса отговорността пред себе си за това, че са уволнили някого... поне не засега, поне не за такива несъответствия.
8ми дан по икебана
Re: малко етика
oh - mi osven da im preporychash nqkoq knijka :-)
Edno vreme imashe na bylgarski - "Kak da pishem nadejni programi" - primerno da stane zadyljitelno chetivo vyv firmata ti :-))
V Code Complete pyk napravo ti pravqt analiz kyde e po-dobre da slagash figurnite skobi :)
A za beautifiera - sha vida v kyshti kvo polzvah, ama naj-dobre edin google ;-)
Edno vreme imashe na bylgarski - "Kak da pishem nadejni programi" - primerno da stane zadyljitelno chetivo vyv firmata ti :-))
V Code Complete pyk napravo ti pravqt analiz kyde e po-dobre da slagash figurnite skobi :)
A za beautifiera - sha vida v kyshti kvo polzvah, ama naj-dobre edin google ;-)
Re: малко етика
Evala, grouchy
Sega i az shte dobavia moiata lepta... Za da vyrvi edin proekt, e neobhodimo da ima razbiratelstvo mejdu programistite. A kogato ima razbiratelstvo... Ako ne se haresvate vzaimno, niama go tozi moment.
E, da uvolniat niakogo, samo zashtoto pyrvata mu knijka, koiato e izgradila predstavata mu za hubav kod, e bila pisana ot sibirski otshelnik - budist...
V kraina smetka mislia, che horata triabva da stoiat nad tezi neshta. Nie sme pyrvo choveci, sled tova myje, edva nakraia programisti ;)
I ... celta vyobshte ne opravdava sredstvata. Pone ne za horata sys syvest.
Symphonie No9, Bethoven...
Sega i az shte dobavia moiata lepta... Za da vyrvi edin proekt, e neobhodimo da ima razbiratelstvo mejdu programistite. A kogato ima razbiratelstvo... Ako ne se haresvate vzaimno, niama go tozi moment.
E, da uvolniat niakogo, samo zashtoto pyrvata mu knijka, koiato e izgradila predstavata mu za hubav kod, e bila pisana ot sibirski otshelnik - budist...
V kraina smetka mislia, che horata triabva da stoiat nad tezi neshta. Nie sme pyrvo choveci, sled tova myje, edva nakraia programisti ;)
I ... celta vyobshte ne opravdava sredstvata. Pone ne za horata sys syvest.
Symphonie No9, Bethoven...
Re: малко етика
Мдааа, но пък аз например не мога да се накарам насила да харесвам някого. И не бих се опитал да се насилвам да се харесам на някого, за да тръгне някой проект. Всичко трябва да стане естествено, на сила хубост не става. За тази цел има CVS и SourceSafe - комуникацията между програмистите в екипа е важна, но аз изобщо не съм задължен за се сприятелявам с тях, за да тръгне проекта. Поне ако аз реша, че не искам...
A Jedi, what do you know
A Jedi, what do you know
Re: малко етика
Doniakade si prav. Poniakoga ima simpatia/antipatia ot pryv pogled. Ako specifikaciata e ok, togava komunikaciata ne e tolkova vajna. za jalost v BG malko sa proektite, koito sa dobre dokumnetirani...
I tova e dosta otnositelno... Prosto ne triabva da se minava v krainosti.
Symphonie No9, Beethoven...
I tova e dosta otnositelno... Prosto ne triabva da se minava v krainosti.
Symphonie No9, Beethoven...
Re: малко етика
mda prava si koda mi naistina ne e krasiv, shte mu slozha malko grim na trugwane :)
ko da sa prai - ne sichki patki stavat lebedi.
tirulirutatuutuu
ko da sa prai - ne sichki patki stavat lebedi.
tirulirutatuutuu