Bij clean code wordt in de "Select Case" VinylFiber ook expliciet vermeld. Dan staat er bijvoorbeeld
: is(MatMateriaal, 'CF'), '??'
Wanneer de waarde toch iets anders zou zijn (bvb nieuwe waarde), dan zal het toch fout lopen in de volgende lijn, want de concat zal iets onbestaande opleveren. Voordeel van "??" (of xx of "-" of zoiets) te gebruiken, is dat het meteen duidelijk is dat de fout in de eerste lijn zit, en niet in de concat.
ik wou eerst schrijven dat deze wijziging niks te maken heeft met deze story, maar je hebt dit heel terecht aangegeven in de commit message dat dit wel is. TOP!
Dus mijn conclusie is dan eigenlijk als volgt : We mogen in het model niet zomaar characteristics verbergen ... we moeten steeds het 3D-model checken (ofwel jou op de hoogte brengen) !!!
Bij mijn eerste gedachten was de commentaar toch een beetje verwarrend. Hier zou ik eerder spreken van "Uitsparing spoelbak - Bodem middelste gedeelte niet tonen in de 3D-vis"
De échte uitfrezing, (fysiek) op de onderkant van de bodemplaat uitgevoerd, staat immers hieronder, links+rechts, die comments wel oké.
Waarom BodemDiepte? Gaat het niet over de Dikte Plaatmateriaal? (als het te groot is, kan geen kwaad voor de 3D-rendering, maar triggert wel een review opmerking
Is het hier niet riskant dat als Blum geen "1" meer meegeeft, je hier verkeerde data zal doorsturen? Ik weet niet of het altijd "1" is, maar anders kan je hier op checken?
productVoorstuk en productId_Voorstuk (en hierboven : import productVoorstuk : HF_Voorstuk) Moet volgens mij toch beter kunnen qua benamingen, want ik vind het nu wel heel verwarrend. Kan gerust in overleg gebeuren.
Ik had deze in de klassenaam zelf misschien ook "converter" bijgezet. Nu is dit HalffabItemsboom, maar is op die manier niet echt duidelijk dat het om een converter gaat zonder naar de folder te kijken (zelfde voor LBXKenmerken)
Ik was verward door het gebruik van de variabele "VerplaatsingZijkantRechts". Waarom gebruik je niet rechtstreeks "BodemBreedte"? Dit is dezelfde waarde, maar in de context van "BevestigingBodemFront" is de link met Bodembreedte ook logischer, denk ik.
Ranking:
Major
Classification:
Not conforming to standards
Hey Joannes. Volgens mij kan dit allemaal veel duidelijk, korter en leesbaarder...
Als het voorlaatste item in de list BlumPolen is, dan maakt het eigenlijk totaal niet meer uit hoelang de list is, dan gaat het sowieso over Personality BlumPolen. BlumPolen zal ook altijd als voorlaatste in de ketting staan, want wij gaan nooit BlumPolen bedienen via iemand anders. Dus:
Als de Oorspronketting niet leeg is, dan de boolean IsPersonalityBlumPolen zetten met ($Piece($List(OorsprongKetting, $ListLength(OorsprongKetting) - 1),",", 1) = PersonalityIdBlumPolen)
Dan: If (IsPersonalityBlumPolen) { Set PersonalityID = PersonalityIdBlumPolen (er is geen nood aan om die ID nog eens terug op te halen uit die list, je weet het hier eigenlijk al wat de ID is, dus gelijk de enum gebruiken is ok).
Else: Die mag blijven zoals hij is, want in alle andere gevallen is het de personality die vooraan in de ketting zit, ongeacht hoe lang die is.
Mijn eerste idee was om $Number(Korting) te gebruiken, maar dit werkt niet omdat kortingen "?" en "" ook toegelaten moeten zijn. Daarom heb ik heb ervoor gekozen om de logica lichtjes te veranderen, dit leek ook de meest cleane oplossing te zijn.
In plaats van waardes 0 en 1-100 toe te laten, laten we nu waardes 0-100 toe (dus ook een halve procent korting bijvoorbeeld). Dit omdat:
Niemand ooit een fractie van een procent korting gaat geven
Classification:
Not conforming to standards
Ranking:
Minor
Een Geef geeft 1 product terug, een zoek mogelijks 0 tot meerdere. Implementatie is wel aangepast, maar de methodname is nog altijd een 'geef'. De oproeper hiervan verwacht dus 1 object terug te krijgen (maar dat is niet gegarandeerd door de gebruikte 'zoek'. Naam (en bijhorende testen) aanpassen. Idem met wijziging hieronder
Classification:
Not conforming to standards
Ranking:
Minor
LadeRegistratieIterator ipv LadeRegistraties, dat maakt het lezen van de code duidelijker verderop. "LadeRegistraties" kan een list, een array, een iterator, ... zijn
hier is in principe extra gedrag bijgekomen, dus zou er ook een testje dat moeten weergeven. Kan zijn dat ik niet in genoeg in detail naar de testen gekeken heb ook natuurlijk.
Je hebt ook ooit eens de reviewopmerking gegeven dat dit misschien een rare klassenaam was, toevallig een ander idee qua naamgeving? Ik vind deze ook zeker niet optimaal
De groep specials lijkt me niet enkel voor spacetowers te zijn dus ik weet niet of deze conditie eigenlijk goed sluitend is voor de aangevraagde change? Zie APPS.Halux.common.impl.ProductieGroepBepalerLBX
Ergens geeft dit nu wel een verkeerd beeld van deze method; ik zou ervan uitgaan dat het productid enkel wordt bepaald, maar als je dan in de method gaat kijken zie je dat hier ook de vhConfig wordt opgeslagen