DBA wet & Code Review voor Gemeente Nijmegen

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 72

  • @l2z-g1g
    @l2z-g1g 14 дней назад +29

    Ik vind het knap hoe rustig en constructief je blijft! Heel respectvol. In mijn hoofd noemde ik het al direct 'prutswerk' toen ik het zag, en ik word erg geïrriteerd als ik bedenk dat deze code bij de overheid gebruikt wordt

    • @sayfjawad522
      @sayfjawad522  14 дней назад +26

      @@l2z-g1g bedankt voor je feedback. Als je er goed bij stilstaat dan gaat een code review over het helpen van een collega, het bedrijf waar je iets voor wil betekenen en een leermoment ook voor jezelf en dan te bedenken dat een ander helpen een mooie iets is! Als je vanuit dat perspectief gaat werken dan zou je toch niet zo gauw boos worden op degene die je wilt helpen maar juist zachtaardig begeleiden.
      Maar vroeger werd ik vaak wel geïrriteerd omdat ik het inderdaad anders zag! Ik zag het vroeger als extra werk dat ik alsnog moest fixen omdat degene die het schreef niet capabel is! Maar dat is simpelweg niet zo! Zeker bij jonge collega's die graag iets goed willen doen en zo zelfverzekerd dat ze niet om hulp vragen tot het moment dat ze het werk opleveren en achteraf geconfronteerd worden met het onverwachte kommentar. Emoties kunnen dan oplopen.
      I.p.v. boos worden gebruik ik het moment juist om een sterke band te bouwen met mijn collegas door simpelweg opties te bespreken met voor en nadelen in een soort mini kennisdeling. Dat werkt erg goed om steeds meer naar elkaar toe te groeien i.p.v. uit elkaar.

    • @everythingiscoolio
      @everythingiscoolio 9 дней назад

      @@sayfjawad522 Sorry hoor, maar als je dit ziet gaan toch direct je nekharen overeind staan? Degene die deze class geschreven heeft heeft gewoonweg geen enkel idee waar ze mee bezig zijn, en horen hun baan te verliezen. Dit gaat niet om het volgen van een soort van onterechte stricte dogma. Dit is heel slecht gemaakt. Punt. Dat mag men ook best weten. Als je emoties dan hoog oplopen, moet je het in het vervolg maar beter oplossen. Zie dat maar als een leermoment voor jezelf, dan.

    • @Anomander1
      @Anomander1 7 дней назад +1

      Dit betekent niet dat elke code bij de overheid er zo uit ziet.

  • @jeffreek1764
    @jeffreek1764 День назад +3

    Mooie uitleg, werk zelf met C# en werk met een legacy code base waarbij ik dit ook vaak tegenkom.
    1 groot bestand die veel doet en die zelfde code dan ook nog eens over meerdere plekken hergebruikt middels het wel bekende Copy Pasta :D
    Het enigste wat ik nu wel jammer vind, is dat je geen PR hebt ingediend

  • @wilmer4421
    @wilmer4421 7 дней назад +3

    super nice deze video. ik studeer nu zelf computing science aan de uni en moest vorige periode ook code specifyen en tests schrijven voor een ander groepje en later daarover code review doen. super interessant om te zien hoe dat er in het echt uit ziet. ook lekker duidelijke video 👍👍

    • @sayfjawad522
      @sayfjawad522  6 дней назад

      Bedankt voor de positieve feedback!

  • @pudicio
    @pudicio 18 дней назад +35

    Dit had niet door de code review mogen komen!

    • @sayfjawad522
      @sayfjawad522  3 дня назад +3

      @@pudicio ik denk niet dat er review is geweest!

  • @maxstevens9518
    @maxstevens9518 4 дня назад +1

    Zeer interessant om dit soort content ook een keer in een nederlandse context te zien!

  • @Luka-hv7wp
    @Luka-hv7wp 19 дней назад +7

    Goeie content! Bij mij op werk gebruiken wij de term ‘bananencode’, erg toepasselijk ;)

  • @marnix707
    @marnix707 11 дней назад +6

    Super video, thanks yt algorithme

  • @Bhuyakasha
    @Bhuyakasha 2 дня назад +1

    Uit de verhalen van mijn vrienden in de IT verwacht ik dat dit juist geen stagiair was maar senior developers die op deze plek zijn gekomen door hun lange CV met ervaring, maar die niet geschoold zijn in het schrijven van testen en conventies als SOLID. Ook aan de profielen in de github te zien lijken er geen commits gedaan te zijn door jonge stagiairs.

    • @Bhuyakasha
      @Bhuyakasha 2 дня назад

      Oh ja vergeten te vermelden, maar geweldige video natuurlijk

  • @mairouche1999
    @mairouche1999 19 дней назад +7

    Echt een top video kan je dit vaker doen

    • @sayfjawad522
      @sayfjawad522  19 дней назад +4

      Zolang de DBA wet mij de ruimte geeft om op de bank te zitten ga ik dit blijven doen 😂

  • @t-unlimited
    @t-unlimited 18 дней назад +8

    Dat Nederlands en Engels door elkaar doet mij denken dat een stagiaire of 'leek' hieraan gewerkt heeft maar alles heeft laten schrijven door ChatGPT, die neigt nogal eens Nederlands en Engels door elkaar te halen in zijn responses haha. Anyways, goede video Sayf!

    • @Hu90r
      @Hu90r 13 дней назад +14

      Ik denk dat ChatGPT het wel beter had gedaan hahah

    • @HighVoltageNL
      @HighVoltageNL 12 дней назад +2

      Ik snap wat je zegt, maar chatgpt kan betere code schrijven

    • @t-unlimited
      @t-unlimited 12 дней назад +1

      @@HighVoltageNL dat kan ChatGPT zeker, dat weet ik ook, maar het ligt er maar net aan wat jouw prompt is..

    • @maxstevens9518
      @maxstevens9518 4 дня назад

      Nederlands en engels door elkaar is iets waar ik het ook zonder chatgpt soms lastig mee heb. Bij ons is de voertaal inprincipe engels (sluit beter aan bij technische concepten/documentatie) maar zijn sommige domeinspecifieke concepten beter of alleen maar uit te drukken in het nederlands. Ik vraag me af of dit iets is waar anderen ook tegenaan lopen, en hoe je bepaald of iets in het nederlands of engels uitgedrukt moet worden?

    • @Vincent-lg2jh
      @Vincent-lg2jh 2 дня назад

      Deze gitrepo is al jaren oud though

  • @joeypothoff7721
    @joeypothoff7721 18 дней назад +17

    Dit moet wel een stagiaire zijn geweest haha!

    • @sayfjawad522
      @sayfjawad522  18 дней назад +4

      @@joeypothoff7721 ja of een developer die voor het eerst java schrijft inderdaad

    • @basbas7938
      @basbas7938 9 дней назад +2

      @sayfjawad522 Maar dit had eigenlijk nooit in de master mogen belanden, deze beginnende / niet ervaren developer heeft ondersteuning nodig om beter te worden, daar zijn mensen zoals jij heel hard voor nodig.

    • @schtormm
      @schtormm 3 часа назад

      mwoah zelfs ik als momenteel stagaire zijnde vind de orginele oplossing vrij dom haha

  • @basbas7938
    @basbas7938 9 дней назад +3

    Dit soort code is dus precies waarom er ZZPers zijn.
    Experts op het gebied van code schrijven en tegengaan dat dit soort code uberhaupt ooit in productie beland, helemaal bij de overheid.

    • @v380riMz
      @v380riMz 2 дня назад

      Overheid is niet zo bijzonder als dat je denkt. Had een sollicitatie gesprek bij een overheidsinstantie. Wat mij gelijk opviel was dat er legacy technologiën werden gebruikt, outdated besturingssystemen en dit soort fratsen.

  • @CodeAbstract
    @CodeAbstract 6 дней назад +2

    Nog een ding wat mij opviel en weet dan niet of het heel gebruikelijk is in Java, maar ik kom van C#, en dat is de return type.
    Ik zag dat de return type "Object" is en daar kan je ook niet heel veel mee, en het is ook weer eens bug gevoelig.
    Het is ook moeilijk af te leiden welke soort waarde er dan precies teruggegeven wordt.
    Misschien had dit wel een preciezere type gemogen zijn, desnoods een class die je dan zelf maakt, of beter nog een soort "Result" class.

    • @ducemano
      @ducemano 4 дня назад

      Geen haat, coderegel 18 is een overschrijving van een overorven methode, dus als die signature anders moet dient de abstract classe te veranderen.

    • @ducemano
      @ducemano 4 дня назад

      Ps je kunt natuurlijk een specifieker object retourneren dan Object. Maar je moet hem idd expliciet casten, dat kan onnodig moeilijk zijn.

    • @CodeAbstract
      @CodeAbstract 4 дня назад

      @@ducemano Dat klinkt dan alsof de basis architectuur al fout zit, en ik zou als ik de mogelijkheid had die in het begin al aanpassen.
      Maar je hebt gelijk, als we binnen de grenzen van een vastgestelde methode met signature blijven, dan is dit wellicht het maximale wat we eraan kunnen verbeteren.

    • @loldongdonkeykong
      @loldongdonkeykong 18 часов назад

      @@ducemano Expliciet casten is niet nodig als je een concrete type specificeert, waarin #transformMessage een non-generieke Object specificeert als return-type. Alles (non primitives) is een Object in Java, dus als de developer "A transformMessage(..)" had gespecificeerd in zijn calculateAgeLimits class, dan zou hij A a = calculateAgeLimits#transformMessage gewoon kunnen doen, mits calculateAgeLimits concreet is.

  • @johnnydenver-m8r
    @johnnydenver-m8r 15 дней назад +6

    Nou ja ik had een keer een gesprek als software engineer bij de belastingdienst. Werd destijds afgewezen omdat ik te weinig ervaring had. Met mijn 10 jaar als software engineer die diverse projecten heeft mogen werken zowel binnen als buiten Nederland :D Maar vervolgens zie je wel dit soort code bij de overheid Hahahaha

    • @sayfjawad522
      @sayfjawad522  15 дней назад +2

      @@johnnydenver-m8r als je het leuk vindt om dan toch een keer te laten zien hoe het beter kan dan nodig ik je uit om mee te doen en met openbare broncode een review te doen... Goed voor de maatschappij lijkt mij. Je kunt via LinkedIn met me connecten en je bent van harte welkom

  • @everythingiscoolio
    @everythingiscoolio 9 дней назад +2

    Wat goed dat je dit doet. Ik ga me eens goed inlezen.

  • @ultralooter
    @ultralooter День назад

    Leuke video! Heb je inmiddels contact gehad met de gemeente of de originele auteur?

    • @sayfjawad522
      @sayfjawad522  День назад +1

      @@ultralooter ik heb ze getagged maar ze hebben niet echt gereageerd. Andere instanties overigens wel zoals TNO, Rijkswaterstaat

  • @lucvandijk4642
    @lucvandijk4642 14 дней назад

    Wat een prettige manier voor een code review! Bedankt.
    Vind je in sommige situaties SOLID overkill? Ik vind dit voorbeeld een perfecte situatie waarin je ziet dat zelfs de kleinste programmas gaan buggen als je niet gestructureerd werkt.
    Soms lijkt iets zo simpel, lijkt het niet veel testen nodig te hebben en dan is het toch verleidelijk om een (achteraf gezien) monster te schrijven. Hoe denk jij daar over?

    • @sayfjawad522
      @sayfjawad522  14 дней назад +2

      Mijn aanpak is altijd maatwerk. Een kleine project met een korte leven vergt wellicht iets minder aandacht dan een grote project met een lange leven. Maar ik geloof niet dat het meer werk is om SOLID te werken als je er al mee bekend bent en het kost altijd minder werk achteraf.
      Weder vraag, waarom vind je SOLID een 'monster'? Welke aspecten hieraan zijn monsterachtig en leveren meer werk?

    • @lucvandijk4642
      @lucvandijk4642 10 дней назад +1

      Eens!
      Ow pardon, ik bedoelde met monster juist als je niet SOLID werkt en gewoon maar begint met alles achter elkaar plakken, zoals de originele code van deze video.
      Ik denk dat je code SOLID schrijven niet persee meer tijd kost, alleen moet je meer tijd besteden aan het plannen van wat je gaat schrijven.

    • @brandon6490
      @brandon6490 9 дней назад +1

      Ik denk zelf dat het erg aan de context ligt. Over het algemeen vind ik bepaalde functie's logisch in een single-responsibility context, maar echt niet alles. Stel je voor dat we alles met interface segregation gaan toepassen: in sommige contexten wordt de code dan veels te complex en onbeheersbaar.
      Mijn mening is: f*ck dogma's, be free en gebruik ze als guidelines, maar niet als keiharde regel. Similar met SOLID, DDD, CQRS en wat voor principle je ook kan bedenken.

    • @luuc
      @luuc 9 дней назад +2

      @@brandon6490 eens, er valt ook iets te zeggen over de localiteit van functionaliteit om het makkelijker te kunnen debuggen o.a.

  • @CoffeTime7
    @CoffeTime7 2 дня назад

    february is 28 dagen de einige mand , daarom als 29 is an mand february zet die warde naar 28 , wats niet klopt hier?

    • @CoffeTime7
      @CoffeTime7 2 дня назад

      dus niemand gaat geboren on february 29ste 😳

  • @DavidNijman
    @DavidNijman 11 дней назад +1

    Ik ben niet tegen testen, maar wie controleert eigenlijk degene die de tests schrijft? Je kunt een test zo schrijven dat deze een goed resultaat oplevert en toch verkeerd kan zijn.

    • @sayfjawad522
      @sayfjawad522  11 дней назад +1

      @@DavidNijman ik controleer ze en gebruik ook PiTest omnog extra geautomatiseerd te dubbelcheckken

    • @luuc
      @luuc 9 дней назад

      @@sayfjawad522 is mutatietesten de moeite waard? Ik weet dat InfoSupport o.a. het veel doet, maar ben benieuwd tot hoeverre het de testkwaliteit verbetert in de praktijk

    • @milandol321
      @milandol321 8 дней назад +1

      Kijk eens naar Stryker, dit is een mutation testing framework en dat werkt echt heel gaaf! Hij veranderd delen van de code waardoor bepaalde testen zouden moeten falen. Faalt geen van je testen na deze "mutatie(s)"? Dan weet je dat je werk aan de winkel hebt

  • @ducemano
    @ducemano 4 дня назад

    Fr homie. @12:04 maffe datum 30 dec

    • @sayfjawad522
      @sayfjawad522  4 дня назад

      30 December was juist een goede datum maar ik heb het niet goed uitgelegd! Bedankt voor de feedback.

  • @jelcroospockt
    @jelcroospockt 9 дней назад +1

    C programmeur schrijft zijn eerste Java code

  • @MarcelDevG
    @MarcelDevG День назад

    Dit is eigenlijk wel heel erg. De UWV is nu in het nieuws met verkeerde berekeningen, maar dit kan de volgende zijn.
    Hopelijk word deze software niet meer in productie gebruikt.

    • @sayfjawad522
      @sayfjawad522  День назад

      @@MarcelDevG ik heb daar geen zicht op natuurlijk, maar expertise in de overheid ontbreekt aan alle kanten en daarom hebben ze ook hulp nodig. Vind ik uiteraard 😅

  • @skywater9607
    @skywater9607 2 дня назад

    Opdrachten drogen op, ik ben net als zzp iter begonnen😢😢

    • @sayfjawad522
      @sayfjawad522  2 дня назад

      @@skywater9607 Oei, heb je hulp nodig? Connect even via LinkedIn en stuur me een berichtje

  • @arqsz
    @arqsz 6 дней назад +2

    Waarom zijn deze repo's openbaar lol

  • @rcsmit
    @rcsmit 14 дней назад

    Ik snap er weinig van, maar heb maar even een issue geopend :)

    • @ShamaticWow
      @ShamaticWow 13 дней назад

      De video is juist heel duidelijk right?

    • @rcsmit
      @rcsmit 12 дней назад

      @@ShamaticWow ik zit totaal niet in de materie. Maar ik denk dat voor hen die dat wel zijn het allemaal heel duidelijk is.

    • @sayfjawad522
      @sayfjawad522  11 дней назад +1

      ​@@rcsmitZelfs de zittende minister weet een heleboel niet over die wet. Bijvoorbeeld "krijgen ZZPers met terugwerkende kracht wel geld van de staat die teveel is betaald aan premies waarvan ze geen aanspraak konden op de lusten die gebaat zouden zijn bij de lasten? Als iemand ziek werd bijvoorbeeld maar geen vergoeding kreeg omdat hij/zij in een schijnzekerheid constructie was?"

  • @shopbymorro
    @shopbymorro 12 дней назад

    ben jij toevallig from teran in iran?

    • @sayfjawad522
      @sayfjawad522  12 дней назад +1

      There are many weirdo's on the internet and ignoring the content I created to help out other developers and instead trying to fish address information (regardless of where it is) tells me that you are such a weirdo.. Pleas do something useful with your life!

  • @zor9917
    @zor9917 5 дней назад +1

    Dit gebeurt er dus als je stagiaires vers van het MBO code laat schrijven voor je lokale gemeente. Het is simpelweg beneden peil puur omdat ze zo onervaren zijn. Overigens niet te verwijten aan de hoogstwaarschijnlijke junior-programmeerders.

    • @sayfjawad522
      @sayfjawad522  4 дня назад +1

      Geen enkel verwijt uiteraard. Code hoort gereviewed te worden en daarom doe ik ook mijn steentje bijdragen. Het is niet om te shamen maar om aan te geven dat we nog werk aan de winkel hebben.

    • @sinki19841984
      @sinki19841984 4 дня назад

      Ik doe het wat hobbymatig en viel bijna van men stoel, wat een amateuristisch stukje code. Als dat een normaal niveau van een junior is dan kan ik ook meteen als junior beginnen.