classes niet aanpassen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

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 »

Functioneel applicatiebeheerder - SOP-SYS-SAM

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 Functioneel Applicatiebeheerder voor het financiele domein op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Core developer wordt jij onderdeel van ons team met drie breed ontwikkelde software engineers en een flexibele schil met zes ervaren freelancers. Jij gaat mee in de visie van onze organisatie om als IoT partner in deze branche specifieke markt “het” platform te blijven innoveren en deze ook steeds slimmer te maken. Wij hopen dan ook zeker dit in de toekomst te kunnen realiseren met bijvoorbeeld Artificial Intelligence. De architectuur van ons platform is opgemaakt uit een deel eigen protocol, een interface laag en een laag welke de protocollen van derde partijen vertaald naar het eigen

Bekijk vacature »

Experienced Lead Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Delft Vacature ID: 13301 Introductie We are seeking a Lead Java Developer for our team in the area of Delft. You will develop an application used exclusively by the engineers and geologists for site characterizations, which imports raw field and laboratory measurements for further processing, integration, ground modelling, and geotechnical analysis and reporting. The client/server application is entirely written in Java, and the server is hosted in the Amazon cloud, utilizing frameworks such as Spring and Hibernate, and connected to an MS SQL Server RDS instance. There is a trend towards using more

Bekijk vacature »

PHP developer (Laravel, Docker, Gitlab-CI)

Functie Het IT-team bestaat momenteel uit 4 ontwikkelaars. Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. Een groot deel van de systemen is gebouwd met behulp van het Laravel framework en PHP (minimaal 7.2), Docker voor lokaab gebruik en Gitlab-CI voor het deployen

Bekijk vacature »

Front-end (Angular) developer

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een Front-end (Angular) developer. Het it-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn dus op zoek naar professionals die autonoom en gedisciplineerd aan de slag gaan, en bij aanvang als enige developer met hun Front-end applicaties aan de slag gaat. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI

Bekijk vacature »

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior Front-End Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Senior Front-End Developer at Coolblue?

Bekijk vacature »

.NET Developer

Functieomschrijving Ben jij klaar voor de volgende stap in jouw carrière? Kom werken bij dit kleine softwarebureau en werk aan de gaafste maatwerk projecten. Je komt te werken in een klein development team en werk nauw samen met elkaar, om maatwerk software te leveren en bij te dragen aan bedrijfsautomatiseringen. Je gaat werken met de Microsoft stack en technieken als .NET, C#, Entity, MVC, SQL server. In de functie krijg je veel vrijheid om zelf beslissingen te nemen en je hebt impact op de bedrijfsprocessen. Bedrijfsprofiel Dit familiebedrijf bestaat al ruim 20 jaar. Zij hebben een vast netwerk van klanten,

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Medior PHP developer

Functie Samen met je development team werk je Agile Scrum en met jullie gezamenlijke kennis en ervaring bepalen jullie samen de beste keuze voor techniek en architectuur. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en denkniveau • Je hebt goede kennis en ervaring met PHP • Je bent niet bang voor complexe projecten • Je werkt graag zelfstandig aan applicaties • Je bent altijd nieuwsgierig naar nieuwe

Bekijk vacature »

.NET Developer

Dit ga je doen Binnen het team bouw je aan een applicatie met andere .Net Developers, testers een Product Owner en een Business Analyst. Met het team wordt de backlog besproken. In overleg claim jij jouw deel en zorgt ervoor dat onderhoud en innovatie wordt gerealiseerd. Het project dat momenteel draait is het opgraden van de omgeving. Doorontwikkelen van de huidige applicatie; Overleggen met teamleden om de backlog te verdelen; Onderhouden van de huidige omgeving; Sparren met de business en het ophalen van nieuwe requirements. Hier ga je werken De organisatie is een van de grootste landelijke aanbieder van diverse

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je werkt mee aan de migratie naar .NET 6; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Zij zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

Bekijk vacature »
Ozzie PHP

Ozzie PHP

03/03/2014 22:02:55
Quote Anchor link
Ola,

Veelal worden constructies bedacht waardoor je een class niet hoeft aan te passen.

Wat is er eigenlijk op tegen om een bestaande class aan te passen (ervan uitgaande dat je de bestaande functionaliteit niet kapot maakt uiteraard)?
 
PHP hulp

PHP hulp

19/12/2024 04:52:47
 
Wouter J

Wouter J

03/03/2014 22:51:52
 
Ozzie PHP

Ozzie PHP

03/03/2014 23:21:17
Quote Anchor link
Dankjewel voor de link Wouter. Ik heb de tekst een beetje geskimmed ;) Wat ik vooral bedoel is... stel je hebt een class... en je komt er ineens een paar maanden later achter dat er een clas property in hoort te zitten, dan moet je die class aanpassen. Of je besluit dat iets handiger kan. Ik vind dat er soms zo'n ophef wordt gemaakt dat je een class niet mag aanpassen.
 
Wouter J

Wouter J

03/03/2014 23:34:09
Quote Anchor link
Ozzie, het is niet dat je een klasse niet mag aanpassen. Als je dat uit het skimmen hebt gehaald kun je niet skimmen en raad ik je aan het artikel maar eens helemaal te lezen.

De definitie van het Single Responsibility Principle (SRP): A class should have only one reason to change Er mag maar 1 rede zijn om een klasse aan te passen, een klasse mag maar 1 role hebben. Als je 2 reden hebt, bijv het veranderen van de opslag methode en het veranderen van hoe de data wordt getoond dan doe je iets verkeerd en moet je je klasse opsplitsen, net zolang je maar 1 rede kunt bedenken.
 
Ozzie PHP

Ozzie PHP

03/03/2014 23:39:48
Quote Anchor link
>> Ozzie, het is niet dat je een klasse niet mag aanpassen. Als je dat uit het skimmen hebt gehaald kun je niet skimmen en raad ik je aan het artikel maar eens helemaal te lezen.

Eeejj... jongeh! Niet zo agressief he! BAM!! Verrekte mongol!!

Hehehe ;-)))

Dat was niet wat ik bedoel. Er wordt in het algemeen altijd zo magisch gedaan over het aanpassen van een class. Op een manier van... als de class eenmaal klaar is, dan mag je er eigenlijk niet meer aankomen. Dat is wat ik bedoel.
 
Wouter J

Wouter J

04/03/2014 09:24:12
Quote Anchor link
Dan heb je dat tot nu toe verkeerd begrepen, ik heb daar namelijk nog nooit van gehoord. Steker nog, als je kijkt naar het aantal communities rond open source projecten en wat daar per dag veranderd gebeurd er juist het tegenovergestelde. Elke dag worden honderden dingen verbeterd, toegevoegd en gefixed.

Het probleem is echter dat zodra je 1.0.0 heb uitgegeven, je rekening moet gaan houden met backwards compatibility. Je kunt niet zomaar je public API(classes, methods en properties die gebruikt kunnen worden als je de library gebruik) gaan aanpassen, aangezien alle gebruikers van jouw library dan hun code moeten gaan aanpassen. Wanneer ze updaten naar 1.1.0 bijv. Daarom is er het zogenaamde Semantic Versioning uitgevonden, een standaard die aangeeft dat je alleen grote BC breaks (refactorings van de public API) mag doen wanneer je van 1.x naar 2.x gaat (de zogeheten major version update). Bi de minor version (bijv. 1.0.x naar 1.1.x) mag je alleen nieuwe features toevoegen en de release version (1.0.0 naar 1.0.1) mag alleen bugs fixen.
 
Ozzie PHP

Ozzie PHP

04/03/2014 10:57:34
Quote Anchor link
Ah oké... thanks voor je toelichting Wouter! Dan had ik het verkeerd begrepen.
 
Ken PHP

Ken PHP

10/03/2014 20:40:26
Quote Anchor link
Ozzie PHP op 03/03/2014 23:39:48:
Dat was niet wat ik bedoel. Er wordt in het algemeen altijd zo magisch gedaan over het aanpassen van een class. Op een manier van... als de class eenmaal klaar is, dan mag je er eigenlijk niet meer aankomen. Dat is wat ik bedoel.


Volgens mij bedoel jij dit:
http://en.wikipedia.org/wiki/Open/closed_principle

Maar wat Wouter al aangeeft, het heeft vooral te maken met het Backward compatible houden van je API. Alles wat je aanpast moet de oude situatie in stand houden, de bestaande implementatie moet blijven werken... :)
 



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.