Hoe groot zijn jullie projecten?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

Gezocht: Ervaren VB6 developer met C# ambitie!

Bedrijfsomschrijving Dit bedrijf is een vooraanstaande softwareleverancier die gespecialiseerd is in het ontwikkelen van software pakketten voor autoschade herstel bedrijven. De software wordt gebruikt door meer dan de helft van alle autoschade herstel bedrijven in Nederland. Het team van professionals is op zoek naar getalenteerde collega developers die hun vaardigheden willen inzetten om het bedrijf te laten groeien. Functieomschrijving Voor dit bedrijf zoek ik een ervaren VB6 / VB.NET developer met interesse om op termijn verder te gaan in C#. In deze functie ben je verantwoordelijk voor het onderhouden van de bestaande softwarepakketten. Een deel van de code is nog

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

Bekijk vacature »

Software Developer

Functie omschrijving Psst hé jij daar! Op zoek naar een nieuwe uitdaging als developer? Wacht niet langer en reageer direct. In deze functie ga je bij een familiebedrijf werken als developer. Je gaat maatwerk software ontwikkelen met de Microsoft stack. Je gebruikt technieken als C#, ASP.NET en MVC. Je werkt in een leuk team van andere developers. Je krijgt veel vrijheid in je werk en kan flexibel werken. Dagje thuiswerken? Geen probleem! Daarnaast is er veel ruimte om écht mee te denken met het bedrijf en met de klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Vanaf

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »
Jan R

Jan R

15/08/2023 11:06:10
Quote Anchor link
Hoi

Gewoon uit nieuwsgierigheid :) Hoe groot zijn jullie projecten.
Mijn competitie webpagina is momenteel
#MiBKibB
JS120.24247.88253 825
PHP/HTML3412.342 394.192 451 646
CSS250.0881.6883 641


Als simpele zien en niet professionele vind ik dit al tamelijk groot. Het is natuurlijk ook geen office365-online.

Voor wie antwoord. Hou het eerlijk en gebruik de juiste waarden 1KiB = 1024 Bytes.
CSS is niet zo belangrijk maar staat er bij voor de volledigheid.

Jan
 
PHP hulp

PHP hulp

29/04/2024 17:25:32
 
- Ariën  -
Beheerder

- Ariën -

15/08/2023 14:18:17
Quote Anchor link
Met welke betrouwbare manier heb jij dit gemeten? Speciale tool?
En meet je ook alle packages uit je /vendor? of laat je die erbuiten?
Gewijzigd op 15/08/2023 14:18:34 door - Ariën -
 
Jan R

Jan R

15/08/2023 18:30:45
Quote Anchor link
De enige juiste :) zeker. De som van de individuele bestanden. Geen tools. Gewoon opgeteld door Windows ==> eigenschappen
 
Ward van der Put
Moderator

Ward van der Put

15/08/2023 21:04:28
Quote Anchor link
Ik zou liever kwaliteit dan kwantiteit meten. Anders legt een kilo stront evenveel gewicht in de schaal als een kilo goud...
 
Jan R

Jan R

16/08/2023 06:58:44
Quote Anchor link
Kwaliteit is niet te meten. Dat bepaald de gebruiker.

Mijn bedoeling is enkel een kleine vergelijking met andere projecten van zowel amateurs als (semi) professionelen.
 
Ad Fundum

Ad Fundum

16/08/2023 08:06:14
Quote Anchor link
Mijn grootste PHP-project (in aantal bestanden en aantal bytes, alleen eigen code):
- PHP: 124 bestanden, 1280 KiB
- CSS: 3 bestanden, 60 KiB
- JS : 1 bestand, 24 KiB

Ward merkt terecht op dat je daar niet de kwaliteit van code kan vergelijken. Kwaliteit is een waarde(oordeel) op een bepaalde schaal. Op welke schalen zou je code kunnen vergelijken?

Het aantal bytes meet niet de veelheid aan code, noch de complexiteit en begrijpbaarheid. Daarbij moet je eigenlijk ook nog de correctheid en elegantie meenemen in de vergelijking. (Spoiler: elegantie is weinig populair omdat het omdat het meer moeite kost om te bereiken en een goede opvoeding om te waarden.)
En dan heb je nog dingen als standaarden (bv. PSRs) en je linter waar je rekening mee kunt houden.

Bijna vergeten omdat het zo in mijn eigen systeem zit: vergeet ook vooral niet de veiligheid van de code mee te weten. Ik verwijs altijd naar OWASP vanwege hun handige cheat sheets. In Nederland moet je vaak aan de ISO 27000-series voldoen, en voor medische informatie ook aan de NEN-7510, en als je voor overheden werkt aan de BIO.
Gewijzigd op 16/08/2023 08:13:59 door Ad Fundum
 
Ward van der Put
Moderator

Ward van der Put

16/08/2023 08:13:55
Quote Anchor link
Kwaliteit is wél te borgen en daarbij indirect te meten. Mijn grootste project heeft bijvoorbeeld meer dan 30.000 unit tests met ruim 60.000 assertions en een code coverage van meer dan 80 procent. En nog belangrijker: 0 errors en zero defects.

Dit heeft gevolgen voor de omvang. Voor elk PHP-bestand in de directory src met broncode bevat de directory tests een PHP-testbestand voor PHPUnit. Deze directorystructuur is eerder regel dan uitzondering bij PHP-projecten die test-driven development (TDD) toepassen.

Dat zegt meer dan het feit dat ik daarmee nu 7,8 MiB code heb, waarvan 89,6 procent PHP.
Gewijzigd op 16/08/2023 08:14:23 door Ward van der Put
 
Ad Fundum

Ad Fundum

16/08/2023 08:27:55
Quote Anchor link
Wat een groot project, en wat een berg aan unit tests! Dat was vast een hele hoop werk om ze allemaal te controleren met de invoering van PHP 8?

Helaas bewijzen tests niet dat er helemaal geen errors zijn. Elke lijst aan tests blijft groeien naarmate een programma langer bestaat en/of groter wordt.
Omdat ik alle code zelf heb geschreven heb ik overzicht, en kan ik zonder tests toe. Hoewel ik wel erg enthousiast ben over TDD en de positieve effecten op het ontwikkelproces zelf, ben ik er helaas nog niet aan toe gekomen.
 
Ward van der Put
Moderator

Ward van der Put

16/08/2023 09:14:01
Quote Anchor link
Ad Fundum op 16/08/2023 08:27:55:
Wat een groot project, en wat een berg aan unit tests! Dat was vast een hele hoop werk om ze allemaal te controleren met de invoering van PHP 8?

Het is eerder omgekeerd: bij elke update van PHP melden errors in de unit tests exact, op de regel nauwkeurig, welke code incompatibel is geworden. Ik ben er met PHP 5.3 in 2014 mee begonnen en dat heeft dus werk bespaard bij alle minor en major updates vanaf PHP 5.4 via PHP 7 naar nu PHP 8.2.

Ad Fundum op 16/08/2023 08:27:55:
Helaas bewijzen tests niet dat er helemaal geen errors zijn. Elke lijst aan tests blijft groeien naarmate een programma langer bestaat en/of groter wordt.

Klopt, maar dat is meer een logische consequentie van TDD dan een structureel nadeel. je kunt unit tests heel goed gebruiken om te debuggen. Als je TDD wilt gaan toepassen, zou ik hier zelfs mee beginnen: heb je een bug gevonden, schrijf dan een unit test die de bug reproduceert en verbeter vervolgens de code tot de test groen op pass gaat.

Ad Fundum op 16/08/2023 08:27:55:
Omdat ik alle code zelf heb geschreven heb ik overzicht, en kan ik zonder tests toe.

Ik gebruik (of misbruik) PHPUnit voor meer dan alleen unit tests. Ik voer er ook acceptatietests, performancetests en end-to-end tests mee uit.

Daarnaast "documenteer" ik er de code mee. Goede unit tests illustreren met voorbeeldcode hoe je classes, interfaces en andere constructies gebruikt. Doel daarbij is dat je hiermee mijn hele framework kunt doorzien, zonder ook maar één regel van de onderliggende PHP-code te moeten lezen.
 
Jan R

Jan R

16/08/2023 11:06:54
Quote Anchor link
Bedankt aan allen voor alle info en data van wie heeft meegewerkt.

Ik weet dat het relatief blijft. ik wou gewoon eens een héél klein beetje vergelijken. Ook de reden dat ik geen afbeelding zal vergelijk. Met wat? resolutie, bpi,... :) dus ook niet te doen.

Gewoon wou ik weten of dit al IETS is.
Mijn conclusie is dus eigenlijk als niet -pro niet slecht

Ik heb net héél veel achtergrond processen verbeterd met info's ontvangen van jullie uit het verleden. Oude code verwijderd. DRY sterk verminderd. Ook ik modderde wat aan in het begin en zelf nu heb ik af en toe hulp nodig.

Jan
 
Ward van der Put
Moderator

Ward van der Put

16/08/2023 11:29:09
Quote Anchor link
“Data expands to fill the space available for storage.”
— Parkinson’s Law of Data
 
Ad Fundum

Ad Fundum

19/08/2023 16:29:52
Quote Anchor link
Ward van der Put op 16/08/2023 09:14:01:
Het is eerder omgekeerd: bij elke update van PHP melden errors in de unit tests exact, op de regel nauwkeurig, welke code incompatibel is geworden. Ik ben er met PHP 5.3 in 2014 mee begonnen en dat heeft dus werk bespaard bij alle minor en major updates vanaf PHP 5.4 via PHP 7 naar nu PHP 8.2.

Het zere punt is natuurlijk dat je met de verandering van booleaanse logica in PHP 8 (ik begon er natuurlijk niet voor niets over) eigenlijk je hele code moet doorspitten en controleren of alle operatoren nog doen wat je verwacht. En alle code is dan ook inclusief de unit tests zelf, want dat is ook gemaakt in PHP. Dat is een ergernis, waardoor unit tests minder effectief kunnen zijn dan dat je zou verwachten.

Over het algemeen is het natuurlijk wel zo dat unit tests, zeker als onderdeel van TDD een effectieve manier is om software te ontwikkelen. De overhead betaalt zich uit (zij het minder met PHP maar toch). Een aantal bugs ben je in de initiële ontwikkelfase al voor, daarom vind ik TDD ook een goed idee.

De andere kant is dat de ontwikkelaar wel de ruimte moet hebben voor die overhead. En ik vind het lastig te bepalen waar het kantelpunt precies is. Omdat je algemeen gesproken met unit tests niet de afwezigheid van bugs kunt bewijzen, komt er nooit een einde aan de lijst van unit tests. Maar unit tests moet je net als code ook onderhouden, en er zijn ook nog andere tests.
Persoonlijk denk ik dat het genoeg is om een aantal unit tests te hebben die blokken code zou moeten testen op hun correcte werking, en een aantal om te laten zien tot waar de code werkt, wanneer het fout zou moeten gaan.
Qua grootte denk ik dat de hoeveelheid code voor unit tests niet groter zou moeten zijn (los van documentatie) dan de code die getest wordt.

Wat denk jij Ward, is in jouw geval die verhouding ook 1:1 ?

Documentatie is in mijn geval een veelvoud van de code. Naast dat elke functie gedocumenteerd is in de code, heb je allerlei aanvullende documentatie, standaarden, handleidingen, ontwikkelhandleidingen, beleid, procedures en ga zo maar door.
 
Ward van der Put
Moderator

Ward van der Put

20/08/2023 10:23:18
Quote Anchor link
Ad Fundum op 19/08/2023 16:29:52:
Qua grootte denk ik dat de hoeveelheid code voor unit tests niet groter zou moeten zijn (los van documentatie) dan de code die getest wordt.

Wat denk jij Ward, is in jouw geval die verhouding ook 1:1?

Ik denk dat je moet streven naar minstens 1:1.

Als we ervan uitgaan dat één regel code precies één ding doet, dan heb je minstens één assertion nodig om de juistheid van je programma te bewijzen.

Dat is wat code coverage ook controleert: wordt elke regel code wel 'gedekt' door je test suite? Dat zegt echter alleen iets over de omvang van je tests, niet over de kwaliteit.

Er zijn veel situaties denkbaar waarbij je méér tests dan code hebt, vooral als je state erbij betrekt. Eenvoudig voorbeeld: om de juistheid van één simpele tinyint te bewijzen, heb je drie assertions nodig, namelijk assertIsInt(), assertGreaterThan() en assertLessThan().

Als je unit tests gebruikt om te debuggen, krijg je bovendien een heleboel tests die overbodig lijken omdat ze het onmogelijke bewijzen: ze tonen aan dat een bug niet meer optreedt. Toch laat je vooral die ogenschijnlijk overbodige tests staan, juist om te voorkomen dat de bug ooit terugkeert.
Gewijzigd op 20/08/2023 10:24:03 door Ward van der Put
 
Ad Fundum

Ad Fundum

22/08/2023 19:00:47
Quote Anchor link
Duidelijk standpunt, ik kan me daar in wel verplaatsen.

En hoe test je (complexe) queries? Ook op dezelfde manier, met meerdere scenario's?

Ik heb ook nog een groep functies die redelijk op elkaar lijken. Ik zou ze kunnen normaliseren, maar dan moet de code dynamisch worden en uit de database opgehaald. Uitzonderingen toevoegen wordt dan ook veel lastiger.
Hoe test je die code, die je ook prima op het oog kunt doorzien? Zou je daar ook allemaal unit tests voor gaan schrijven?
Ik denk dat het in mijn geval nog gaat schuiven, omdat de software requirements (van het ontwerp) de hele tijd veranderen. Dat is niet iets dat ikzelf bepaal, dat komt van de business.
Gewijzigd op 22/08/2023 19:01:31 door Ad Fundum
 
Ad Fundum

Ad Fundum

03/09/2023 22:38:37
Quote Anchor link
Quote:
Er zijn veel situaties denkbaar waarbij je méér tests dan code hebt, vooral als je state erbij betrekt. Eenvoudig voorbeeld: om de juistheid van één simpele tinyint te bewijzen, heb je drie assertions nodig, namelijk assertIsInt(), assertGreaterThan() en assertLessThan().

Kleine aanvulling nog: je voorbeeld over unit tests is niet heel illustratief. Als je in PHP voor elke INT een unit test moet gaan doen vanwege het weak type system, zit je gewoon in de verkeerde taal. Een andere taal geeft meteen een error in de IDE nog voordat je de code uitvoert, zelfs als de integer overflowt. En als het voor de database is, dan is een isInt test ook maar 1x handig, tenminste als je het object-georiënteerd doet.
Gewijzigd op 03/09/2023 22:41:57 door Ad Fundum
 
Ward van der Put
Moderator

Ward van der Put

27/09/2023 10:04:56
Quote Anchor link
Een parser of linter kan bijvoorbeeld deze fout niet herkennen (en een IDE zoals VS Code out-of-the-box ook niet):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

declare(strict_types=1);

class FooBar implements \Countable
{
    public float $counter;

    public function count(): int
    {
        return $this->counter;
    }
}


?>


De code is fout, maar je kunt tijdens het programmeren niet blindvaren op parser, linter, strict typing of IDE. De fout zal gegarandeerd opduiken zodra je de code uitvoert en die zekerheid biedt een unit test.

Unit testing is zeker geen zaligmakende totaaloplossing. Met static analysis kun je deze specifieke fout ook vinden. Bijvoorbeeld PHPStan herkent de bug direct: probeer zelf maar... ;-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.