abonnement bol.com Unibet Coolblue
pi_167575559
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 ;(
  zaterdag 24 december 2016 @ 14:02:06 #2
436847 embedguy
Embedded in your genius dreams
pi_167576399
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.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
  zaterdag 24 december 2016 @ 14:14:12 #3
43615 RIVDSL
Impossible Mission
pi_167576654
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/
  zaterdag 24 december 2016 @ 16:03:38 #4
370487 Hallmark
Geverifieerde account
pi_167578482
Wat wil je nou eigenlijk met dit bericht?
Geinspireerd door historische gebeurtenissen en karakters. Dit werk van fictie was ontworpen, ontwikkeld en geproduceerd door een multicultureel team van verschillende religies en geloven.
pi_167578768
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?
  zaterdag 24 december 2016 @ 17:10:46 #6
2671 Aaargh!
Gebruik op eigen risico.
pi_167579680
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 ?
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_167580988
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.
  zaterdag 24 december 2016 @ 23:27:18 #8
436847 embedguy
Embedded in your genius dreams
pi_167588272
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.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
  zaterdag 24 december 2016 @ 23:34:57 #9
45206 Pietverdriet
Ik wou dat ik een ijsbeer was.
pi_167588430
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)
In Baden-Badener Badeseen kann man Baden-Badener baden sehen.
  zaterdag 24 december 2016 @ 23:44:35 #10
436847 embedguy
Embedded in your genius dreams
pi_167588575
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.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_167588630
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
pi_167588770
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.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_167588808
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.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_167588860
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
pi_167589170
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.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  zondag 25 december 2016 @ 00:30:56 #16
436847 embedguy
Embedded in your genius dreams
pi_167589314
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.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
  zondag 25 december 2016 @ 00:35:08 #17
436847 embedguy
Embedded in your genius dreams
pi_167589382
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.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_167589826
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.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_167590112
Herkenbaar.

[ Bericht 100% gewijzigd door oheng op 25-12-2016 01:44:58 ]
  zondag 25 december 2016 @ 07:41:31 #20
370487 Hallmark
Geverifieerde account
pi_167591428
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?
Geinspireerd door historische gebeurtenissen en karakters. Dit werk van fictie was ontworpen, ontwikkeld en geproduceerd door een multicultureel team van verschillende religies en geloven.
pi_167592579
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.
pi_167592994
Moord en brand schreeuwen over falende collega's en inputvalidatie, terwijl je een typeerror hebt.

Hmmmmmmmmmmmmmmmmmmmmm ....................
  zondag 25 december 2016 @ 10:30:55 #23
436847 embedguy
Embedded in your genius dreams
pi_167593020
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.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_167593376
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?
pi_167595674
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 ]
abonnement bol.com Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')