dicht timmeren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Android Developer Internet of Things

Functieomschrijving Weet jij complexe technische vraagstukken om te zetten naar werkende oplossingen? Dan is deze Android Developer functie met IoT een hele goede match voor jou! Je bedenkt en ontwikkelt technologische oplossingen voor het Android platform dat wordt gebruikt. Je bent nationaal en internationaal bezig waarbij je met de nieuwste technieken mag werken om de prachtige Mobile Apps te maken. Je werkt trouwens aan unieke IoT producten/projecten waar we je graag meer over vertellen als je bij ons op gesprek komt. Technieken waar je aan kan denken: Kotlin, Butterknife, Dagger, Retrofit, Volley of Picasso, Android TV, Android Wear of Android

Bekijk vacature »

Full-stack .NET developer gezocht, Goeree-Overflak

Ben je een .NET software developer en op zoek naar een professionele werkomgeving binnen een wat groter innovatief en ambitieus bedrijf? Waar sprake is van een uitgebreid applicatielandschap met elke dag nieuwe uitdagingen, waar alles mogelijk is, binnen een goede collegiale sfeer? Lees dan verder! Voor een bedrijf in Goeree-Overflakke zijn we momenteel op zoek naar een ervaren software developer. De IT afdeling bestaat uit circa 60 mensen waarvan zo'n 15 developers. Voor de recente architectuur wordt gebruikt gemaakt van de nieuwste technieken waaronder .NET Core, Docker en Angular. Echter bestaat het applicatielandschap uit een groot aantal verschillende applicaties waarbij

Bekijk vacature »

Embedded Software Developer / C++ / Projecten / Le

Functieomschrijving Word jij enthousiast van Embedded Software ontwikkeling in een state-of-the-art omgeving met technieken als C / C++ en Embedded Linux? Wil jij graag op het hoogste niveau werken? Lees dan gauw verder! Het ontwikkelen van Embedded Software met technieken als C en C++. Zorgen dat applicaties van jouw collega's perfect communiceren met de hardware. Platforms als Embedded Linux, OSless en RTOS systemen. Opstellen en uitwerken van requirements. Ondersteunen van je Project Manager (bijv. het uitwerken van ontwerpen, helpen bij een update voor de klant) Ondersteunen van junior collega's met jouw kennis en ervaring. Functie-eisen Een ervaren Embedded Software Developer.

Bekijk vacature »

Full-stack developer

Over Compaan Compaan (www.uwcompaan.nl) is een jong bedrijf van ongeveer 20 medewerkers dat is gevestigd in Haarlem. We ondersteunen zorgverleners in digitaal contact met hun cliënten, met name door middel van beeldzorg. Dit gaat meestal via de Compaan-tablet, een tablet die speciaal gemaakt is voor ouderen die niet met een gewone computer overweg kunnen. Verder hebben we vele particuliere klanten die via de Compaan-tablet contact met hun familie en vrienden onderhouden. Over de functie We zijn per direct op zoek naar een nieuwe collega die gaat helpen meebouwen aan de software van Compaan en bij het onderhoud van onze algehele

Bekijk vacature »

.NET Core Developer C# Kubernetes

Functieomschrijving Ben jij een .NET Core Developer en wil je werken binnen een hele toffe en innovatieve omgeving? Heb je kennis van C#, Kubernetes en MySQL? Reageer dan snel! Ontwikkelen van online platform door middel van .NET Core, C# en SQL; Optimaliseren van performance en uptime; Wegwerken van bugs; Koppelingen maken met andere microservices; Werken aan innovatieve projecten en nieuwe features. Functie-eisen Afgeronde HBO of WO opleiding; Minimaal 5 jaar ervaring als Developer; Kennis en ervaring met .NET Core en Kubernetes zijn een vereiste; Kennis en ervaring met C#, SQL, RabbitMQ en microservice zijn een pré; Je hebt ervaring met

Bekijk vacature »

Software Developer iGaming

Als Software Developer iGaming word je verantwoordelijk voor het ontwikkelen van de online kanalen voor Casino en Sportweddenschappen. Ben jij straks onderdeel van het nieuwe iGaming DevOps team van Nederlandse Loterij? Functie Als Software Developer iGaming kom je te werken op de afdeling Technology, het hart van de Nederlandse Loterij, waar we samen werken aan de ontwikkeling van nieuwe systemen en applicaties. Nederlandse Loterij is in beweging en de inzet van IT en technologie wordt hierin steeds belangrijker. Wij hebben een grote veranderagenda en zoeken enthousiaste IT collega’s die hier een bijdrage aan willen leveren. Nederlandse Loterij is in een

Bekijk vacature »

.Net Developer voor complexe CRM systemen!

Functieomschrijving Je komt als Medior .NET Developer te werken in een informele omgeving en gaat deel uitmaken van een klein team van .NET ontwikkelaars. Je gaat bouwen aan .NET applicaties die nogal wat uitdagingen met zich mee brengen. Concreet werk je mee of stuur je developers aan, en neem je de leiding in de projecten waar je dagelijks aan werkt. Het betreffen projecten voor internationale bedrijven, maar ook de kleinere MKB bedrijven in Nederland. Je werkt met technieken als C#, ASP.Net, MVC, Angular, React, .Net Core en Azure. Functie-eisen - Je hebt ervaring met het realiseren van .NET applicaties middels

Bekijk vacature »

Back-end PHP Developer / Maatschappelijk betrokken

Functieomschrijving Ben jij een developer die de volgende stap in zijn carrière wilt maken? Wijk jij niet uit voor precisie werk in een open en informele omgeving? Lees dan snel verder en reageer! Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Functie-eisen Afgeronde HBO of WO opleiding, liefst in de richting van Informatica; Je hebt minimaal 3 jaar ervaring als PHP Developer; Je hebt ervaring met object

Bekijk vacature »

.NET C# web developer met focus op gebruiksvriende

Ben je op zoek naar een baan binnen een klein softwarebedrijf? Een bedrijf met een informele, persoonlijke en familiaire sfeer? Waar je je als developer zowel richt op de back- als frontend? Wellicht dat deze vacature dan iets voor jou is. Voor een softwarebedrijf, gevestigd in het centrum van Rotterdam, zijn we momenteel op zoek naar .NET C# web developer. Dit mag iemand zijn die net van school komt, maar ook iemand die al behoorlijk wat ervaring heeft. Het bedrijf bestaat inmiddels ruim 10 jaar en en door de aanhoudende groei zijn ze opzoek naar versterking van 1 a 2

Bekijk vacature »

C# backend developer gezocht, hardware component,

Ben je een C# developer en zoek je een baan in Rotterdam waar je systemen ontwikkeld die communiceren met hardware? Bij een klein bedrijf met korte lijnen, een open cultuur en veel vrijheid? Wellicht dat dit dan iets voor je is. Voor een klant in Rotterdam zijn we op zoek naar een ervaren C# developer. Het gaat hier om een bedrijf dat gericht is om voor overheden en ondernemingen informatie vanuit bepaalde meetsystemen te verwerken en te presenteren. Zo is bijvoorbeeld een van de projecten waar je als ontwikkelaar aan gaat werken; het bouwen van een website waar gebruikers informatie

Bekijk vacature »

Senior .NET developer/ architect gezocht, api deve

Ben je een ervaren .NET developer en op zoek naar baan waarbij je je ook meer kunt gaan richten op architectuur? Binnen een leuke, sociale en betrokken werkomgeving? Met technieken als .NET Core en Azure? Dan zou deze baan wellicht iets voor jou kunnen zijn. Voor een organisatie in Rotterdam zijn we op zoek naar eens senior .NET ontwikkelaar/ architect. De organisatie bevindt zich in de financiële branche en is een van de grotere spelers in hun vakgebied. De organisatie bestaat uit circa 600 medewerkers en heeft verschillende vestigingen in Nederland. Het hoofdkantoor zit in Rotterdam en daar is ook

Bekijk vacature »

Senior .NET developer/ architect gezocht, api deve

Ben je een ervaren .NET developer en op zoek naar baan waarbij je je ook meer kunt gaan richten op architectuur? Binnen een leuke, sociale en betrokken werkomgeving? Met technieken als .NET Core en Azure? Dan zou deze baan wellicht iets voor jou kunnen zijn. Voor een organisatie in Rotterdam zijn we op zoek naar eens senior .NET ontwikkelaar/ architect. De organisatie bevindt zich in de financiële branche en is een van de grotere spelers in hun vakgebied. De organisatie bestaat uit circa 600 medewerkers en heeft verschillende vestigingen in Nederland. Het hoofdkantoor zit in Rotterdam en daar is ook

Bekijk vacature »

Junior .NET C# developer gezocht, Dordrecht

Ben je een .NET C# developer die in Dordrecht woont, of in de omgeving hiervan, en op zoek is naar een nieuwe baan? Bij een bedrijf met betrokken collega’s, die elkaar graag helpen, binnen een informele cultuur? En aan een succesvol product wilt werken dat constant verder ontwikkeld wordt? Voor een bedrijf in Dordrecht zijn we op zoek naar verschillende C# developers. Het bedrijf richt zich op de ontwikkeling van software voor een specifieke branche en heeft circa 5000 gebruikers. De organisatie bestaat uit circa 20 mensen waarvan 6 .NET developers, 1 architect en 3 software testers. Het werk bestaat

Bekijk vacature »

.NET Developer / Angular / React

Functieomschrijving Haal jij als .NET Developer energie uit het ontwikkelen van bedrijfskritische .NET applicaties en vind jij het ook leuk om de door jouw gebouwde .NET applicaties te beheren en door te ontwikkelen, waarmee je de kwaliteit van de .NET applicaties weet te waarborgen? Lees dan snel verder Het ontwikkelen van bedrijfskritische applicaties; Het onderhouden en beheren van de applicaties; Het uitvoeren van patches, testen, change- en incidentmanagement; Meedenken over technische ontwikkelingen; Het pro-actief aandragen van verbeteringen. Functie-eisen Hbo denk- en werkniveau; Minimaal 2 jaar ervaring met .NET; Aantoonbare ervaring met het ontwikkelen en beheer van van applicaties; Aantoonbare ervaring

Bekijk vacature »

Junior / Medior BI Ontwikkelaar

Uitdagende Medior BI Ontwikkelaars positie binnen een hecht team uin de energie sector in Vlissingen. Je draagt bij aan het nemen van data gedreven beslissingen voor de organisatie welke impact maken op strategisch en tactisch niveau. Bedrijfsomschrijving Onze klant richt zich op productie, handel én levering van energieproducten en-diensten op dezakelijke markt. Door mondiale prijsbewegingen van grondstoffen en de transitie naar eenduurzame, CO2-neutrale energievoorziening, zijn energiemarkten zeer dynamischen volatiel.Daarom optimaliseren we onze portefeuille aan zeer flexibele productie-, transport-enopslagcapaciteit continu en handelen we 24 uur per dag, 7 dagen per week. In deze dynamischeenergiemarkt iszijde stabiele factor.Dat is altijd zo geweest!

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

08/08/2020 20:05:15
 
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.