FOK!forum / Klaagbaak / Door de stront van anderen waden
GewoneBurgerzaterdag 24 december 2016 @ 13:24
Ben op werk betrokken bij een IT project en de bulk van de code is door collega's gemaakt die niet altijd de meest handige beslissingen nemen. Enkele voorbeelden:

- input niet valideren, crasht de boel dus omdat je de int 123 verwacht maar de string "123" krijgt

- Zelf een object maken (en nog verkeerd doen ook) terwijl het object al in de library beschikbaar is.

- niet weten wanneer iets public moet zijn danwel private

Ik kan nog meer halve blunders opnoemen maar die hou ik liever voor me.
En ik zit dus ook op dat project en kom dus in aanraking met dat gepruts van mijn collega's. Mijn suggesties voor verbeteringen worden totaal niet opgepakt, want "hij doet het toch?", of "de deadline moet gehaald worden", ja deze deadline, maar we brengen onszelf gigantisch in de nesten voor de deadlines daarna.

Ik heb dus echt het gevoel dat ik door de stront van anderen zit te waden. En daar word ik weinig blij van ondertussen.

Het tegenovergestelde is ook mogelijk: dat het zo strak en grondig in elkaar zit dat je zoiets hebt van "wtf is going on". Zo'n project heb ik ook wel eens op gezeten. Vaak geprogrammeerd door mensen die informatica hebben gestudeerd.

Het komt er eigenlijk op neer dat ik het liefst zelf iets vanaf de grond af aan opbouw, zulk soort software projecten zijn helaas dun gezaaid

Functioneel programmeren wordt ik ook blij van, ook die projecten zijn echter schaars ;(
embedguyzaterdag 24 december 2016 @ 14:02
Als je projecten helemaal in eigen hand wil hebben, moet je niet met anderen gaan werken en/of in een heel klein bedrijf gaan werken... Werk in overvloed voor jou dus je zal zeker niet aan je huide werkgever vast zitten.

Heb je al met je hr'r gesproken? In hoe een groot bedrijf werk je?

Misschien dat je via je werkgever wel een cursus oid kan volgen waarin je leert om beter je standpunt te verwoorden ed. Je punten zijn allemaal punten die je toch zou moeten kunnen bespreken met je collega's en dat je dan tot een punt komt dat je beiden tevreden bent met de uitkomst van die bespreking.

Als je collega's hopeloos zijn en je je eigen sociale vaardigheden al onder de loep hebt genomen; dan is het wellicht tijd om naar een andere werkgever te gaan zoeken.
RIVDSLzaterdag 24 december 2016 @ 14:14
In een bedrijf moeten nu eenmaal deadlines gehaald worden. Dingen mooier implementeren terwijl ze in de praktijk goed werken gaat op de korte termijn alleen maar problemen opleveren. Is er wel een keer een probleem met de bestaande code, dan is dat natuurlijk wel een mooie gelegenheid om het gelijk goed aan te pakken.

Interessant artikel, redelijk oud maar nog wel relevant: https://www.joelonsoftwar(...)uld-never-do-part-i/
Hallmarkzaterdag 24 december 2016 @ 16:03
Wat wil je nou eigenlijk met dit bericht?
GewoneBurgerzaterdag 24 december 2016 @ 16:22
quote:
0s.gif Op zaterdag 24 december 2016 16:03 schreef Hallmark het volgende:
Wat wil je nou eigenlijk met dit bericht?
Jij dan met dit bericht van je?
Aaargh!zaterdag 24 december 2016 @ 17:10
quote:
18s.gif Op zaterdag 24 december 2016 13:24 schreef GewoneBurger het volgende:
- input niet valideren, crasht de boel dus omdat je de int 123 verwacht maar de string "123" krijgt
eeh.. waarom kan je een string in een int parameter stoppen ? Zit je in PHP te prutsen ofzo ?
Shadowkid053zaterdag 24 december 2016 @ 18:26
quote:
1s.gif Op zaterdag 24 december 2016 16:22 schreef GewoneBurger het volgende:

[..]

Jij dan met dit bericht van je?
Duidelijkheid scheppen over wat jij nu wilt met dit topic. Dat was, in tegenstelling tot je topic, vrij duidelijk.
embedguyzaterdag 24 december 2016 @ 23:27
quote:
0s.gif Op zaterdag 24 december 2016 17:10 schreef Aaargh! het volgende:

[..]

eeh.. waarom kan je een string in een int parameter stoppen ? Zit je in PHP te prutsen ofzo ?
Ja, dat moet wel. Geen enkele andere taal dat zo weakly typed is dat dat probleem voort kan komen.

Behalve dan JavaScript, Python, Ruby, Lisp/Scheme, Perl, ActionScript, etc, etc, etc.

Daarbuiten kan het probleem ook optreden bij bv c like talen als je bv een byte array binnen in je functie/member/.. krijgt en er geen rekening mee wordt gehouden dat het protocol niet is nageleefd.
Pietverdrietzaterdag 24 december 2016 @ 23:34
quote:
0s.gif Op zaterdag 24 december 2016 14:14 schreef RIVDSL het volgende:
In een bedrijf moeten nu eenmaal deadlines gehaald worden. Dingen mooier implementeren terwijl ze in de praktijk goed werken gaat op de korte termijn alleen maar problemen opleveren. Is er wel een keer een probleem met de bestaande code, dan is dat natuurlijk wel een mooie gelegenheid om het gelijk goed aan te pakken.

Interessant artikel, redelijk oud maar nog wel relevant: https://www.joelonsoftwar(...)uld-never-do-part-i/
De besturingssoftware van de Ariane 4 kunnen we toch ook gebruiken, en dan hoeven we die ook niet meer te testen!!
(Dit is serieus de oorzaak)
embedguyzaterdag 24 december 2016 @ 23:44
quote:
1s.gif Op zaterdag 24 december 2016 23:34 schreef Pietverdriet het volgende:

[..]

De besturingssoftware van de Ariane 4 kunnen we toch ook gebruiken, en dan hoeven we die ook niet meer te testen!!
(Dit is serieus de oorzaak)
Probleempje met het verschil in gewicht, is het niet? Dat was wel een blunder ja.

Mij lijkt dat er bij ts's projecten niet zoveel afhankt. Gok ik iig.
Daarbij is het verschil wel dat het testen met zo'n racket wel een stuk prijziger/moeilijker zal zijn als met een gemiddeld ander it project.
vaduzzaterdag 24 december 2016 @ 23:48
quote:
1s.gif Op zaterdag 24 december 2016 23:44 schreef embedguy het volgende:
Mij lijkt dat er bij ts's projecten niet zoveel afhankt. Gok ik iig.
Assumptions are the mother of.....

Verder wel een serieus probleem als input niet goed gevalideerd wordt. Dat kan leiden tot enorme datalekken en andere serieuse problemen. Dat het objectgeorienteerde programmeren wat minder netjes gaat, is minder vervelend, maar wel een terecht punt.
:P
FlippingCoinzaterdag 24 december 2016 @ 23:57
quote:
0s.gif Op zaterdag 24 december 2016 14:14 schreef RIVDSL het volgende:
In een bedrijf moeten nu eenmaal deadlines gehaald worden. Dingen mooier implementeren terwijl ze in de praktijk goed werken gaat op de korte termijn alleen maar problemen opleveren. Is er wel een keer een probleem met de bestaande code, dan is dat natuurlijk wel een mooie gelegenheid om het gelijk goed aan te pakken.

Interessant artikel, redelijk oud maar nog wel relevant: https://www.joelonsoftwar(...)uld-never-do-part-i/
Raar artikel, als je blijft doormodderen met functies van twee pagina's et cetera zonder dit te verbeteren kom je juist tot een punt dat de code zo'n chaos is dat je beter alles weg kan flikkeren lijkt mij.
FlippingCoinzaterdag 24 december 2016 @ 23:59
quote:
1s.gif Op zaterdag 24 december 2016 23:44 schreef embedguy het volgende:

[..]

Probleempje met het verschil in gewicht, is het niet? Dat was wel een blunder ja.

Mij lijkt dat er bij ts's projecten niet zoveel afhankt. Gok ik iig.
Daarbij is het verschil wel dat het testen met zo'n racket wel een stuk prijziger/moeilijker zal zijn als met een gemiddeld ander it project.
Waarom zou het testen van de software van een raket moeilijker zijn dan van een andere code base van soortgelijke grootte.
vaduzzondag 25 december 2016 @ 00:02
quote:
1s.gif Op zaterdag 24 december 2016 23:57 schreef FlippingCoin het volgende:

[..]

Raar artikel, als je blijft doormodderen met functies van twee pagina's et cetera zonder dit te verbeteren kom je juist tot een punt dat de code zo'n chaos is dat je beter alles weg kan flikkeren lijkt mij.
Het punt dat hij probeert te maken dat je beter langzaam kunt verbeteren dan impulsief alles in een keer weg te gooien. Niet dat je verder moet gaan met aanmodderen.
:P
FlippingCoinzondag 25 december 2016 @ 00:21
quote:
0s.gif Op zondag 25 december 2016 00:02 schreef vaduz het volgende:

[..]

Het punt dat hij probeert te maken dat je beter langzaam kunt verbeteren dan impulsief alles in een keer weg te gooien. Niet dat je verder moet gaan met aanmodderen.
:P
Ja oké maar als je een functie van twee pagina's vol met zooi die ook nog eens van alles doet dan ligt het naar mijn idee niet aan interpretatie maar is het gewoon slechte code, dat is dan niet gelijk een trigger om dan maar alles weg te flikker dat is waar.
embedguyzondag 25 december 2016 @ 00:30
quote:
1s.gif Op zaterdag 24 december 2016 23:59 schreef FlippingCoin het volgende:

[..]

Waarom zou het testen van de software van een raket moeilijker zijn dan van een andere code base van soortgelijke grootte.
Omdat de software van een raket niet getest kan worden in de uiteindelijke werkelijke applicatie. Alleen in modellen.

Verder; de meeste software ict projecten zullen inferieur zijn aan een software project met een onderdeel van een raket als applicatie. Niet gezegd dat dit ook voor ts's project geld.
embedguyzondag 25 december 2016 @ 00:35
quote:
11s.gif Op zondag 25 december 2016 00:21 schreef FlippingCoin het volgende:

[..]

Ja oké maar als je een functie van twee pagina's vol met zooi die ook nog eens van alles doet dan ligt het naar mijn idee niet aan interpretatie maar is het gewoon slechte code, dat is dan niet gelijk een trigger om dan maar alles weg te flikker dat is waar.
Punt was ook dat je van te voren niet goed kan inschatten tegen hoeveel problemen je aan gaat lopen op het moment dat je een stuk code herschrijft.

Beter zo blijven aanmodderen dan overnieuw beginnen met alles en vervolgens even ver zijn als voordat je het aanpaste.

Verder werd het punt gemaakt dat je software engineer altijd met lelijke code moet werken. Dat gaat niet veranderen op het moment dat de code herschreven wordt.
FlippingCoinzondag 25 december 2016 @ 01:07
quote:
1s.gif Op zondag 25 december 2016 00:35 schreef embedguy het volgende:

[..]

Punt was ook dat je van te voren niet goed kan inschatten tegen hoeveel problemen je aan gaat lopen op het moment dat je een stuk code herschrijft.

Beter zo blijven aanmodderen dan overnieuw beginnen met alles en vervolgens even ver zijn als voordat je het aanpaste.

Verder werd het punt gemaakt dat je software engineer altijd met lelijke code moet werken. Dat gaat niet veranderen op het moment dat de code herschreven wordt.
Als je zo blijft doormodderen gaat er steeds meer tijd zitten in het debuggen en doorgronden van code, terwijl als je iets herschrijft je dit beter kan doen met betere tests zodat je minder tijd kwijt bent aan het doorgronden van onleesbare code en het debuggen, zodat je uiteindelijk meer tijd bespaart met het herschrijven. En ik zeg niet dat dit altijd kan of dat dit altijd de beste oplossing is, maar noot stukken herschrijven is dat ook zeker niet denk ik.
ohengzondag 25 december 2016 @ 01:32
Herkenbaar.

[ Bericht 100% gewijzigd door oheng op 25-12-2016 01:44:58 ]
Hallmarkzondag 25 december 2016 @ 07:41
quote:
1s.gif Op zaterdag 24 december 2016 16:22 schreef GewoneBurger het volgende:

[..]

Jij dan met dit bericht van je?
:D

Je hoeft je niet aangevallen te voelen?

Ik vraag me af wat je doel is. Wil je ander werk, wil je een oplossing, wat wil je?

Ik bedoel, door iemand anders z'n code heen lopen is toch normaal? Af en toe moet je iemand anders z'n code fixen, en af en toe bouw je zelf iets. Of is het niveau van je collega's voor jouw gevoel echt onder de maat?
GewoneBurgerzondag 25 december 2016 @ 10:01
quote:
0s.gif Op zondag 25 december 2016 07:41 schreef Hallmark het volgende:

[..]


Ik bedoel, door iemand anders z'n code heen lopen is toch normaal? Af en toe moet je iemand anders z'n code fixen, en af en toe bouw je zelf iets. Of is het niveau van je collega's voor jouw gevoel echt onder de maat?
Wel het niveau van de code die ze afleveren. Nogmaals, ik wil niet elk detail bespreken hier maar ik zit af en toe met open ogen te kijken. En daar moet ik dan op verder bouwen en doorheen lopen. Alsof ik door stront aan het waden ben.
#ANONIEMzondag 25 december 2016 @ 10:29
Moord en brand schreeuwen over falende collega's en inputvalidatie, terwijl je een typeerror hebt.

Hmmmmmmmmmmmmmmmmmmmmm ....................
embedguyzondag 25 december 2016 @ 10:30
quote:
1s.gif Op zondag 25 december 2016 10:01 schreef GewoneBurger het volgende:

[..]

Wel het niveau van de code die ze afleveren. Nogmaals, ik wil niet elk detail bespreken hier maar ik zit af en toe met open ogen te kijken. En daar moet ik dan op verder bouwen en doorheen lopen. Alsof ik door stront aan het waden ben.
Zoals gezegd hebben engineers altijd dat idee... Afhankelijk van hoe erg het is(kan we hier moeilijk inschatten), hoef je niet op beter te hopen want dat gebeurt niet.

Mja, wat wil je met dit topic? Wil je een hart onder je riem hebben dat wij aanraden om naar een andere baan te zoeken? Of wil je horen dat je gelijk hebt dat je collega prutsers zijn en dat het tijd wordt dat je ze daarop wijst?

In het eerste geval; werk zat, doen! In het tweede geval;ga bij je hr'r vragen of dat je een communicatie cursus oid kan gaan doen. Punt is; zoek het probleem bij jezelf, je collega's verander je niet.
Coritchandozondag 25 december 2016 @ 10:48
quote:
1s.gif Op zondag 25 december 2016 10:01 schreef GewoneBurger het volgende:

[..]

Wel het niveau van de code die ze afleveren. Nogmaals, ik wil niet elk detail bespreken hier maar ik zit af en toe met open ogen te kijken. En daar moet ik dan op verder bouwen en doorheen lopen. Alsof ik door stront aan het waden ben.
Kijk je ook wel eens met dichte ogen?
Fleischmeisterzondag 25 december 2016 @ 12:26
Onderhoudbaarheid van software is het allerbelangrijkste dat er is. Mensen die niet verder kijken dan de eerstvolgende deadline en alleen maar als argument hebben 'het werkt toch, morgen weer een dag' hebben niet echt een idee wat software engineering inhoudt, sowieso begint het echte werk, het onderhoud, pas na de eerste oplevering... een periode die meestal veel langer duurt dan het maken van de eerste versie.

Soms zie je zelfs dat er op dat punt nog nog geen tests geschreven zijn, en met een beetje pech is de code niet eens testbaar geschreven, bijvoorbeeld door statische class methods overal te gebruiken die je erg lastig kan vervangen door een testexemplaar (mocking) ten behoeve van unit tests.

Op een gegeven moment kan je alleen nog maar smerige hacks gebruiken om andere smerige hacks te fixen en valt bij bijna elke wijziging wel ergens iets om. Waar is niet te controleren tot de klant boos opbelt, want er zijn geen tests met voldoende coverage :P Updaten van een onderliggend framework doe je al niet meer, want de gevolgen kan je zonder tests ook niet voorspellen.

Even blijven aanmodderen is alleen maar de goede beslissing als het gebruik van de applicatie binnenkort toch al gaat eindigen.

Er zijn overigens wel technieken om knelpunten in bestaande software te vinden en dit incrementeel te herschrijven, denk aan datamining in versiebeheersystemen en profiling, het zal een beetje van de code en plannen afhangen of dit de moeite waard is t.o.v. dingen volledig herschrijven.

[ Bericht 1% gewijzigd door Fleischmeister op 25-12-2016 12:40:59 ]
GewoneBurgerzondag 25 december 2016 @ 12:33
quote:
0s.gif Op zondag 25 december 2016 10:29 schreef Stratotanker het volgende:
Moord en brand schreeuwen over falende collega's en inputvalidatie, terwijl je een typeerror hebt.

Hmmmmmmmmmmmmmmmmmmmmm ....................
?
Bliendboszondag 25 december 2016 @ 12:33
Als je niet met je collega's op 1 lijn zit, blijf jij door de stront van anderen waden. De oplossing is communiceren, alleen zie ik bij mij in het bedrijf mooie oplossingen in de prullenbak belanden, door de korte termijn visie bij sommige onderdelen van het bedrijf. En dat is waar TS ook last van heeft met die deadlines, iets wat in den beginne verkeerd is opgezet, brij je nu niet zomaar meer recht. Weggooien en opnieuw beginnen is het beste, maar daarvoor ontbreekt de tijd.
Hallmarkzondag 25 december 2016 @ 15:25
quote:
0s.gif Op zondag 25 december 2016 12:33 schreef Bliendbos het volgende:
De oplossing is (...)
Ik heb ook m'n gedachten over een mogelijke oplossing. Maar alhoewel diverse malen gevraagd, zie ik TS nog steeds niet duidelijk een vraag stellen.
GewoneBurgerzondag 25 december 2016 @ 15:58
quote:
0s.gif Op zondag 25 december 2016 12:33 schreef Bliendbos het volgende:
Als je niet met je collega's op 1 lijn zit, blijf jij door de stront van anderen waden. De oplossing is communiceren, alleen zie ik bij mij in het bedrijf mooie oplossingen in de prullenbak belanden, door de korte termijn visie bij sommige onderdelen van het bedrijf. En dat is waar TS ook last van heeft met die deadlines, iets wat in den beginne verkeerd is opgezet, brij je nu niet zomaar meer recht. Weggooien en opnieuw beginnen is het beste, maar daarvoor ontbreekt de tijd.
In het begin was ik slechts sporadisch betrokken bij het project, toen al zag ik foute design keuzes, heb dat ook meteen aangegeven maar er werd niet geluisterd. Nu zit ik er fulltime op, want deadline, en heb ik echt het gevoel dat ik de shit van anderen moet opruimen.
Feivel1maandag 26 december 2016 @ 23:03
Als jij het idee hebt dat jij het gepruts van collega'snakket opruimen, zit je misschien wel boven het niveau van de collega's. Dat terwijl je eigenlijk onder het niveau van je collega'a zit.

De anderen zijn in staat om met de druk van de deadline om te gaan en met elkaar te communiceren. Al is je code nog zo fantastisch, als je al een probleem hebt met het communiceren met je collega's, gaat het niet werken.

Misschien meer in de trant werken van: "We zouden ook dit kunnen doen:" en minder in de trant van: "Jullie hebben er een zootje van gemaakt, alles is kut en jullie laten mij het opruimen"?
GewoneBurgermaandag 26 december 2016 @ 23:06
Hoe weet jij nou hoe ik dit gecommuniceerd heb met mijn collega's, hoe weet jij nou hoe de gezags verhoudingen liggen?
Feivel1maandag 26 december 2016 @ 23:25
quote:
0s.gif Op maandag 26 december 2016 23:06 schreef GewoneBurger het volgende:
Hoe weet jij nou hoe ik dit gecommuniceerd heb met mijn collega's, hoe weet jij nou hoe de gezags verhoudingen liggen?
Je hebt gecommuniceerd met je collega's en klaagt nu op een forum over de uitkomst? :+

Dan nog maar een keer de vraag. Wat wil je eigenlijk?
fathankdinsdag 27 december 2016 @ 10:58
Dat is eigenlijk IT in de notendop. Altijd de shit van een ander opruimen.
hottentotdinsdag 27 december 2016 @ 11:34
TS geeft aan dat hij moeite heeft met strak geschreven code, lijkt mij dat hij alles behalve diegene is die zich zou moeten bemoeien met een nieuwe codebase.
hottentotdinsdag 27 december 2016 @ 11:35
quote:
14s.gif Op dinsdag 27 december 2016 10:58 schreef fathank het volgende:
Dat is eigenlijk IT in de notendop. Altijd de shit van een ander opruimen.
Vaak gaat het niet ééns echt om shit, maar om een andere zienswijze op dingen.

In de IT leiden vele wegen naar Rome. En veel mensen denken dat hun weg de beste is.
Dubbeldrankdinsdag 27 december 2016 @ 11:48
quote:
14s.gif Op dinsdag 27 december 2016 10:58 schreef fathank het volgende:
Dat is eigenlijk IT in de notendop. Altijd de shit van een ander opruimen.
Totdat iemand jouw shit weer op moet ruimen! :D

e9e08fbb7949da21821b4f1d2873edec4713725a19f81673f4f1f9f662436227.jpg
GewoneBurgerdinsdag 27 december 2016 @ 19:48
quote:
0s.gif Op dinsdag 27 december 2016 11:34 schreef hottentot het volgende:
TS geeft aan dat hij moeite heeft met strak geschreven code, lijkt mij dat hij alles behalve diegene is die zich zou moeten bemoeien met een nieuwe codebase.
De code van anderen, niet als ik het zelf maak.
Hallmarkdinsdag 27 december 2016 @ 19:52
Volgens mij hoort dit topic meer in KLB thuis.

TS wil of kan immers geen antwoord te geven op de vraag wat hij wil bereiken met dit topic. Het enige dat hij doet, is een klacht neerleggen.
hottentotwoensdag 28 december 2016 @ 01:13
quote:
1s.gif Op dinsdag 27 december 2016 19:48 schreef GewoneBurger het volgende:

[..]

De code van anderen, niet als ik het zelf maak.
Precies wat ik bedoel.
GewoneBurgerwoensdag 28 december 2016 @ 01:14
quote:
0s.gif Op woensdag 28 december 2016 01:13 schreef hottentot het volgende:

[..]

Precies wat ik bedoel.
Vind het geen terechte conclusie
RhytmicalRemedywoensdag 28 december 2016 @ 01:14
quote:
1s.gif Op zaterdag 24 december 2016 16:22 schreef GewoneBurger het volgende:

[..]

Jij dan met dit bericht van je?
_O_
Pharkuswoensdag 28 december 2016 @ 06:58
Schopje KLB. Herkenbare klacht wel. Ik deel joelonsoftware's visie deels, ervan uitgaande dat er aan de codebase redelijke programmeurs hebben gewerkt.

Is het grotendeels gemaakt door incompetente prutsers dan kan het gewoon de prullenbak in.