dicht timmeren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

Bekijk vacature »

Front end developer

Functie Qua type opdrachten is er echt een verscheidenheid aan afnemers, zo werken ze met grote multinationals, maar ook met startups. Zo kom je te werken in een gevarieerde omgeving en kan je ook schakelen tussen verschillende culturen. De projecten variëren van greenfield projecten tot langdurige ontwikkeltrajecten. Hier wordt alleen maar gewerkt met aan front end projecten. Daarom maakt het onze partner niet uit waar jij kennis van hebt, als je maar gedegen kennis hebt van Javascript frameworks, Unit testing en ook bekend bent met de scrum methodiek. Eisen Minimaal 4 jaar relevante werkervaring Kennen en ervaring van Javascript frameworks

Bekijk vacature »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

.Net ontwikkelaars voor de zorgsector

Bedrijfsomschrijving Voor onze klant in de omgeving van Zwolle zijn wij op zoek naar een ervaren .Net ontwikkelaar, bij voorkeur met ervaring binnen de belangrijkste sector van Nederland, namelijk: de zorgsector. Deze internationale organisatie ontwikkelt software voor de zorgsector. Er werken zo'n 25 medewerkers hard aan een oplossing die gebruikt wordt door heel Nederland. Er heerst een informele sfeer waarbij er altijd ruimte is voor een grapje. Je collega's zijn stuk voor stuk sterke ontwikkelaars vanuit verschillende achtergronden en met verschillende leeftijden. Je komt hier terecht in een organisatie die zich hard inzet om de zorgsector te verbeteren. De mogelijkheden

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

Bekijk vacature »

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

Front-end Developer

Gezellige team, passie en een groene toekomst! Lees hier de vacature van Front-end Developer bij All in Power! All in power heeft zich tot doel gesteld écht bij te dragen aan de energietransitie. Dit doen wij door de markt voor energie volledig op zijn kop te zetten. Producenten van schone (wind- of zonne-)energie verkopen via ons platform hun energie rechtstreeks aan gebruikers. Of dit nu huishoudens, bedrijven of bijvoorbeeld laadpalen zijn ons platform maakt het uitwisselen van energie mogelijk. Zo maken we de business case van onze klanten veel sterker en loont het om (meer) te investeren in vergroening voor

Bekijk vacature »

Pagina: 1 2 3 4 5 volgende »

Ozzie PHP

Ozzie PHP

29/02/2012 09:53:54
Quote Anchor link
Ik vraag me af in hoeverre jullie de invoer van parameters controleren / dicht timmeren.

Stel je hebt een functie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
public function setPath($key, $path) {
  // hier komt wat code
}
?>


Nu moeten zowel $key als $path een string bevatten. Deze functie wordt uitsluitend gebruikt door de programmeur. Mensen van buitenaf kunnen deze functie niet aanroepen (bijvoorbeeld d.m.v. een formulier).

Nu vraag ik me af of ik moet controleren of zowel $key als $path een string zijn. Of gaat dat te ver? Anders moet je namelijk bij heel veel functies dit soort controles uitvoeren. Enerzijds veel controle structuren / overhead en extra code, anderzijds. De input klopt wel altijd.

Graag jullie meningen!
 
PHP hulp

PHP hulp

11/05/2024 23:03:56
 
Wouter J

Wouter J

29/02/2012 10:09:09
Quote Anchor link
Ik doe dat altijd, ik gebruik voor al mijn properties typecasting:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
public function setPath( $key, $path )
{

  $key = (string) $key;
  $path = (string) $path;
  // of als je ze ergens in gebruikt of opslaat in een property dan
  // gebruik ik daar typecasting

}
?>

Behalve natuurlijk als ik ze in een PHP functie gooi en zeker weet dat die altijd een string returned.
 
Ozzie PHP

Ozzie PHP

29/02/2012 10:29:42
Quote Anchor link
Maar Wouter, dat is niet helemaal wat ik bedoel. Ik bedoel echt een controle in de zin van... "hé, $path moet een string zijn en jij geeft een boolean op!".

Ik wil niet (zoals in jouw voorbeeld) dat een boolean wordt geconverteerd naar een string "1".

Mijn vraag is dus echt of je dit moet doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
public function setPath($key, $path) {
  if (!is_string($key) || !is_string($path)) {
    // Bericht tonen dat $key en $path een string moeten zijn.
  }
}

?>


Mijn vraag is of je dit soort controles moet inbouwen. Wel gebruiksvriendelijk, maar het betekent ook een hoop extra code en dus meer werk.
 
Kris Peeters

Kris Peeters

29/02/2012 10:56:16
Quote Anchor link
Wat ik belangrijker vind, is dat je de parameters en return goed documenteert.

Vertel de programmeur wat de functie doet, wat elke parameter is, ... en daar ga je uiteraard vertellen wat het type is.

En denk ook eens na wat je zou doen indien iets gebeurt wat je niet verwacht.
Wat zou je effectief doen binnen die if() ?

Een return false terug geven, gebeurt wel vaker.
Maar een echo $error ...
Tja, wat heb je daar echt aan?
 
Wouter J

Wouter J

29/02/2012 11:01:42
Quote Anchor link
@Kris, ik denk dat Ozzie een Exception gaat throwen in de if.

Maar inderdaad, die controlles lijken mij onnodig. In elk geval wel voor types. Andere dingen zou je natuurlijk wel kunnen checken, of het bepaalde waardes bevat en wel is wat je verwacht. En een array controleren is ook nog handig, maar of iets een bool, string of int is zou ik niet controleren.
 
Ozzie PHP

Ozzie PHP

29/02/2012 11:02:12
Quote Anchor link
Ik ben zelf niet zo van het "lange" documenteren eerlijk gezegd. Ik geef altijd alleen aan wat de functie doet.

In die if zou ik een exception willen gooien die een bericht toont dat de variabele van het verkeerde type is.

(hoe geef jij aan wat voor type de parameter moet zijn?)

Toevoeging op 29/02/2012 11:02:48:

Wouter J op 29/02/2012 11:01:42:
@Kris, ik denk dat Ozzie een Exception gaat throwen in de if.

correct ;)
 
Kris Peeters

Kris Peeters

29/02/2012 11:46:34
Quote Anchor link
Ozzie PHP op 29/02/2012 11:02:12:
(hoe geef jij aan wat voor type de parameter moet zijn?)


Een voorbeeld, dit staat (als user commentaar) op php.net, bij strpos()

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
16
17
18
19
20
<?php

/**
 *  This function implements all the strn*pos functions, which return the $nth occurrence of $needle
 *  in $haystack, or false if it doesn't exist / when illegal parameters have been supplied.
 *
 *  @param  string  $haystack       the string to search in.
 *  @param  MIXED   $needle         the string or the ASCII value of the character to search for.
 *  @param  integer $nth            the number of the occurrence to look for.
 *  @param  integer $offset         the position in $haystack to start looking for $needle.
 *  @param  bool    $insensitive    should the function be case insensitive?
 *  @param  bool    $reverse        should the function work its way backwards in the haystack?
 *  @return MIXED   integer         either the position of the $nth occurrence of $needle in $haystack,
 *               or boolean         false if it can't be found.
 */

function strnripos_generic( $haystack, $needle, $nth, $offset, $insensitive, $reverse )
{

    //  If needle is not a string, it is converted to an integer and applied as the ordinal value of a character.
...
?>


Er zijn nog andere coding standards voor commentaar, maar deze stijl is wel gebruikelijk.

Trouwens ...
Goede naamgeving helpt ook heel erg.
De namen $needle en $haystack gebruiken telkens je iets zoekt/detecteert in een groter geheel, is ook een goed idee
Gewijzigd op 29/02/2012 11:51:11 door Kris Peeters
 
Wouter J

Wouter J

29/02/2012 11:49:37
 
Roel -

Roel -

29/02/2012 11:51:14
Quote Anchor link
Kris, ik bedacht me net: hoe noem je een sql resource als je type?
 
Wouter J

Wouter J

29/02/2012 11:58:33
Quote Anchor link
@Roel, een resource. Alle resources zijn resources, een overzicht van alle resources in Core PHP: resource
 
Kris Peeters

Kris Peeters

29/02/2012 12:05:03
Quote Anchor link
Je kan altijd inspiratie halen uit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
gettype($res)
?>


(geeft dus inderdaad "resource")
 
Ozzie PHP

Ozzie PHP

29/02/2012 12:06:07
Quote Anchor link
Oké, thanks.

Als iets een array moet zijn of een object van een bepaalde instantie, zetten jullie dat dan wel bij de parameters of zet je dat allemaal in het commentaar? Bijv.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
public function(array $array, MyInstance $my_instance) {

}

?>
 
Roel -

Roel -

29/02/2012 12:06:28
Quote Anchor link
Thx, dat moest ik weten. Terug naar het onderwerp!
 
Wouter J

Wouter J

29/02/2012 12:25:14
Quote Anchor link
@Ozzie, een array zet ik er wel altijd bij de parameters. Dat omdat strings/ints/bools en arrays totaal verschillen. Precies zoals dat ik kijk of iets een object is.

Even een voorbeeldje van hoe ik een method zou schrijven in PHP:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
/**
 * This class is a example of PHPdoc and typing
 *
 * @author Wouter J
 * @package <Project naam>
 * @subpackage <Namespace naam>
 * @license Creative Commons 0.0
 */

class Example
{
  /**
   * All values that where set in this object
   *
   * @var array
   */

  protected $items = array();

  /**
   * Add an item to the object
   *
   * @param string $key The key of the item
   * @param mixed $value The value of the items
   */

  public function setItem( $key, $value )
  {

    $this->items[$key] = $value;
  }


  /**
   * Add multiple items to the object
   *
   * @param array $items All items with Array key represents the name and the array value the value
   */

  public function setItems( array $items )
  {

    foreach( $items as $key => $value )
    {

      $this->items[$key] = $value;
    }
  }
}

?>
 
Ozzie PHP

Ozzie PHP

29/02/2012 12:28:50
Quote Anchor link
Thanks Wouter. Waarom zet je voor iedere parameter @param?
Waarom bijv. niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
/**
   * Add multiple items to the object
   *
   * $items = array All items with Array key represents ...
   */

?>
 
Wouter J

Wouter J

29/02/2012 12:32:13
Quote Anchor link
@Ozzie, dat is de PHPdoc syntax, een standaard die in heel PHP wordt gebruikt. Je zou het bijv. ook nog verder kunnen uitbereiden en dan gebruik je ook andere PHPdoc tags:
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
16
17
18
19
20
21
22
23
24
<?php
/**
 * Some function who does something
 *
 * @access protected
 */

protected function some()
{

  // do something
}

/**
 * This function does something with the values and return them
 *
 * @param string $prefix The prefix, default is null
 * @return array $items The items
 */

public function doSomething( $prefix = null )
{

  // ...

  return $items;
}

?>
 
Ozzie PHP

Ozzie PHP

29/02/2012 12:36:11
Quote Anchor link
Oké, thanks. Ik vind het maar onoverzichtelijk... meer commentaar dan code :D
 
Wouter J

Wouter J

29/02/2012 12:41:19
Quote Anchor link
Dat komt omdat de functies nu nog heel klein zijn. Bij getters en setters zou ik het ook niet gebruiken, was slechts een voorbeeld. Maar bij grotere functies is het zeker handig om snel een overzicht te krijgen van wat er in komt, wat er uit en wat er mee gebeurd.
 
Ozzie PHP

Ozzie PHP

29/02/2012 12:56:03
Quote Anchor link
Hmmm, oké... maar even terugkomend op mijn vraag. Goed documenteren dus, en parameters niet controleren op type, met uitzondering van array en instances? Is dat een terechte conclusie?
 
Niels K

Niels K

01/03/2012 10:11:00
Quote Anchor link
Quote:
met uitzondering van array en instances?

Ik neem aan dat je weet dat je die gewoon voor de var kan zetten?

Example:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

class Dier {

    public function addOzzie(Aap $ozzie, array $items) {}
}


?>


Wanneer Ozzie nu geen instance van 'Aap' ( :-) ) is, wordt er een exceptie gethrowd.
 
Ozzie PHP

Ozzie PHP

01/03/2012 10:14:38
Quote Anchor link
Euh jaa, dat is ook precies wat ik bedoelde... lees nog maar een keer ;)

Enne.. bedankt dat je me vergelijkt met een aap he! ;)
 

Pagina: 1 2 3 4 5 volgende »



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.