Hoe groot zijn jullie projecten?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Programmeur PHP

Functie Ben jij op zoek naar een nieuwe uitdaging als PHP developer en zoek je een leuke platte organisatie? Lees dan snel verder! Voor een opdrachtgever in omgeving Capelle aan den IJssel 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 technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

Medior Java developer (fullstack)

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 »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

C# .NET Developer

Functieomschrijving Voor dit leuke softwarre bedrijf in de omgeving Vught zijn we per direct op zoek naar een C#/.NET Developer. Is development jouw passie en doe je dit graag met C#/.NET? Lees dan snel verder! Jou werkzaamheden zullen zijn: Zorgen voor de optimalisatie van de huidige software en het automatiseren van bedrijfsprocessen. Naar aanleiding van de wensen van de klant ga je, met je collega's op zoel naar passende oplossingen en je werkt dit uit tot een mooi eindproduct. Je gaat webshops, websites en webapplicaties ontwikkelen door middel van ASP.NET, C# en MVC Framework. Bedrijfsprofiel Deze opdrachtgever houdt zich bezig

Bekijk vacature »

Software Developer

Functie omschrijving In deze functie ga je aan de slag met het door ontwikkelen van de interne software. Zij maken gebruik van een CRM, wat door de hele organisatie gebruikt wordt. Andere taken: Je gaat het CRM-systeem door middel van PHP verder ontwikkelen; Verder bouw je verschillende API's en koppelingen tussen systemen; Ook ga je collega's ondersteunen bij vragen over de software en applicaties; Deelnemen aan overleggen met het development team; Bij interesse is er de mogelijkheid om junioren te gaan begeleiden. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »

Medior/senior PHP ontwikkelaar E-commerce

Functie Het software development team bestaat momenteel 5 scrum teams . Ieder team heeft een eigen SCRUM Master en eigen tester. Zij werken voornamelijk in PHP en met hun eigen geschreven framework wat Symfony based is . Jij bent samen met je collega’s verantwoordelijk voor het interne softwaresysteem en alle projecten die daar omheen lopen. Alles wat jij ontwikkelt, wordt direct toegepast en uitgerold (wereldwijd). Dit maakt jouw werk tastbaar en uitdagend! Een greep uit jouw werkzaamheden: Toevoegen en ontwikkelen van nieuwe functionaliteiten Logistieke software ontwikkelen voor intern gebruik Tientallen gigabytes aan data inzichtelijk maken Altijd op zoek gaan naar

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Full Stack .NET Developer C# ASP.NET

Samengevat: Deze werkgever is gespecialiseerd in het op afstand bewaken en besturen van machines en processen. Ben jij een ervaren Full Stack .NET Developer? Heb je ervaring met C# en ASP.NET? Vaste baan: .Net Developer C# ASP.NET HBO €3.300 - €4.500 Deze werkgever is een snel groeiende onderneming gespecialiseerd in het op afstand bewaken en besturen van machines en processen, IoT (Internet of Things). Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Wil jij bij de top specialisten horen? Ben jij op zoek naar een

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Medior Java developer (fullstack)

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 »

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 »
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

21/11/2024 21:28:52
 
- 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.
 

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
 
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
 

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
 

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
 

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
 

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
 
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.