dicht timmeren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer / industriële automatiseri

Functieomschrijving Heb jij ervaring als Software Developer en werk jij graag aan software, gericht op machine besturing? Is C# jouw zeer bekend en werk jij graag in een informeel bedrijf met een platte structuur? Dan zijn wij op zoek naar jou voor een organisatie in regio Eindhoven! Je werkt als Software Developer aan industriële software / software gericht op machine besturing en maakt gebruik van C# en C; Je denkt mee over de architectuur en het design; Je weet requirements te vertalen naar de technische oplossing; Je onderzoekt issues en lost storingen op waar nodig; Je denkt mee over de

Bekijk vacature »

PHP developer met interesse in de handelsmarkt!

Vacature Omschrijving Onze klant in Amsterdam wilt een toonaangevende speler worden op de handelsmarkt voor milieugrondstoffen en schuldkapitaal. Zij doen dit gezamenlijk met hun klanten over de gehele wereld door samen te kijken naar de kansen en behoeften in de desbetreffende regio. Met een zeer open bedrijfscultuur verwelkomen ze dagelijks internationale collega’s. Mensen die actief willen bijdragen aan het succesvolle bedrijf worden met open armen ontvangen, waarna nieuwe zakelijke kansen vol worden benut. Functieomschrijving Jij gaat je als Full-Stack developer bezighouden met de ontwikkeling van bestaande en nieuwe producten. Alles wat jij ontwikkelt, wordt direct gebruikt door je nieuwe collega’s

Bekijk vacature »

Internship - Applied Intelligence

Internship - Applied Intelligence Job Description Join Accenture to unlock, design and implement applied intelligence solutions for many of the world’s most interesting clients. Powered by new data, data science and technology, you’ll help drive digital transformation at the core of their business and enable new outcomes for your clients. A data-native mindset is key to driving disruption and there are extraordinary opportunities for data analytics enthusiasts like you who can find the value in data that others can’t. If you want to impact the business world by solving their greatest challenges using analytics and technology, an internship with us

Bekijk vacature »

Senior Python Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: je bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Java Developer vacature Groningen

Java Developer Noordoost Word onderdeel van een topteam met ervaren Java Developers. Loop voorop in de ontwikkelingen en help mee innoveren. Focus op Java Wij bouwen State of the Art applicaties met de nieuwste Java technologie en frameworks. Dit doen we door ons te richten op de open source-oplossingen binnen de wereld van Java, alle nieuwe ontwikkelingen te volgen en onze kennis te delen binnen onze eigen Java Community. Dit betekent bijvoorbeeld dat we aanwezig zijn op veel conferenties; Oracle Code One, Devoxx en JFall. We organiseren ook onze eigen collegiale sessies en hackatons waar we kennis en plezier combineren.

Bekijk vacature »

SIEBEL DEVELOPER

SIEBEL DEVELOPER Introduction Interesting work brings people to Accenture. Variety, team work and personal growth are just some of the core values as you start to build your career here at Accenture. A career at Accenture translates into continuous opportunities to expand your capabilities as we help clients become high-performance businesses. Our clients have the ambition to digitalize their businesses, become more Agile, reduce cost, simplify their IT-landscape and move to the ‘new IT’ adopting value added services/technologies. You will help them realize their ambitions with technologies such as Cloud, Big Data, Artificial Intelligence, Internet of Things, Predictive Analytics, Augmented/Virtual

Bekijk vacature »

Senior Android Developer vacature

Je bent creatief. Je wilt verschil maken. Je gaat voor mobile. Voor het bedenken, ontwerpen en realiseren van sterke mobile-apps mag men jou ’s nachts wakker maken. Jij weet hoe je Android-apps met impact ontwikkelt en levert ze op tijd af. Of het nu gaat om betalen met een vingerafdruk, het delen van de bar-rekening of het mobiel aanpassen van de (sfeer-)verlichting in huis, jij weet welke integrale functionaliteiten toegevoegde waarde hebben voor de eindgebruiker. Jij zorgt er bovendien voor dat jouw apps het toonbeeld zijn van gebruikersvriendelijkheid en veiligheid. Omdat je breed georiënteerd bent, kun je ook prima buiten

Bekijk vacature »

PHP ontwikkelaar / Innovatie / Creativiteit

Functieomschrijving Ben jij de ontwikkelaar die op de hoogte is van de laatste ontwikkelingen en sta jij te springen om de nieuwste tools en technieken toe te passen in jouw werk? Trek dan nu aan de bel! Deze organisatie is al meer dan 20 jaar actief in het verzamelen en doorsturen van grote hoeveelheden data. Dit gebeurt doormiddel van hun zelf ontwikkelde platform die verschillende communicatieoplossingen biedt. Met bijna 600 gebruikers kan je jezelf wel inbeelden hoe groot de hoeveelheid data aan tekst, afbeeldingen en voicerecords is. Om er voor te zorgen dat de applicatie up-to-date, innovatief en vernieuwend is,

Bekijk vacature »

Java Backend Developer

Orange Quarter are working with one of the leading Banks within the Netherlands as they look to drive innovation within their tech teams. The Bank is currently working on revolutionising some of their primary platforms in an effort to remain at the forefront of technology within the sector. We're looking to speak with engineers who have experience in: Java The journey from Monolith to Microservices 5+ years experience with Java 8 and Scala Jump (boat), Axon Framework and Docker Git, Jenkins 2, Jira, Nexus, Sonar, Maven, Sonatype CLM, Elastic Stack, Groovy, NodeJS You will be working on an award-winning Dutch

Bekijk vacature »

Java developer / Goede doelen organisatie

Functieomschrijving Wil jij als Java developer bijdragen aan een betere wereld? Ben jij een developer die graag afwisseling in zijn werk heeft? Dan is dit de baan voor jou! Als software developer werk je in teamverband aan het bouwen en uitbreiden van diverse financiële applicaties, alsmede de koppeling met diverse externe leveranciers (ASP’s); Om aan de specifieke wensen, ingegeven door de doelstellingen van de klant, gehoor te geven worden de applicaties binnen de organisatie ontwikkeld en op maat gemaakt; Het hele Java EE spectrum van de web front-end, EJB’s tot aan de connectoren naar de database komt hier bij kijken.

Bekijk vacature »

PHP Developer

PHP DEVELOPER PHP Developer – Product development – Amsterdam – Full time We are currently looking for a PHP engineer who wants to work in a problem-solving environment developing a scalable platform and keeping up with the advancements in current technologies. Working for an established business with a multi-product platform that is disrupting the education industry and reaching millions of active users every day, you will be helping students across the world further their own development. The Role itself: As a PHP Developer, you will be joining an already established team to scale out their existing products and help develop

Bekijk vacature »

SQL Developer / SQL DBA / Financiële instelli

Functieomschrijving Ben jij een ervaren SQL Developer / SQL DBA die houdt van een uitdaging? Heb je ruime ervaring met SQL, SQL Server, SSIS en het bouwen van queries? Lijkt het jou interessant om verantwoordelijk te zijn voor de gehele Nederlandse database omgeving van deze internationale financiële organisatie? Lees dan snel verder! Verantwoordelijk voor operationele werking van de database omgeving voor alle Nederlandse vestigingen; Schrijven van SQL queries; Beantwoorden complexe integratie vraagstukken; Meewerken aan uiteenlopende interne projecten en organisatiebrede migratie trajecten; Requirements opstellen; Fungeren als sparringspartner voor de business. Functie-eisen HBO werk- en denkniveau; Minimaal drie jaar ervaring in een

Bekijk vacature »

.NET Core Developer worden bij één v

Functieomschrijving Er is daarom altijd behoefte aan nieuwe collega's op gebied van .NET Development, momenteel specifiek op het gebied van .NET Core, maar ook binnen andere takken van ontwikkeling. Daarnaast is het verloop van medewerkers heel laag: Wanneer je hier eenmaal werkt, zul je niet snel meer weg willen. De doorgroeimogelijkheden zijn onbeperkt, de opdrachten altijd uitdagend en interessant en daar bovenop zijn de arbeidsvoorwaarden ook nog eens uitstekend. Neem contact met mij op, dan plan ik op korte termijn een gesprek en dan zul je het mij je eigen ogen zien! In jouw nieuwe leasewagen rijd je straks naar

Bekijk vacature »

Medior Microsoft Dynamics Developer

Jouw uitdaging: Ben jij sterk in het succesvol ontwikkelen van maatwerk componenten op het Dynamics platform? En wil je actief meewerken aan de ontwikkeling van ons Digital Customer Experience portfolio? Dan is dit iets voor jou! Voor de Digital Customer Experience afdeling (DCX) zijn we op zoek naar een Medior Microsoft Dynamics Developer. In deze functie ben je verantwoordelijk voor de succesvolle ontwikkelen van maatwerk componenten op het Dynamics platform bij toonaangevende organisaties. Denk daarbij aan het realiseren van integratie met front en backoffice systemen op basis van Azure PaaS of het ontwikkelen van complexe plug-ins. Daarnaast werk je actief

Bekijk vacature »

VB.NET / C# Winforms developer gezocht voor onderh

Voor een bedrijf in het centrum van Rotterdam zijn we op zoek naar een .NET developer. Het gaat om een bedrijf dat een software platform beheerd waarop verschillende partijen aangesloten zijn voor de afhandeling van financiële administratieve processen. De organisatie bestaat uit circa 200 mensen waarvan 80 op de locatie waar deze vacature speelt. Het team zelf bestaat uit 12 mensen waaronder 7 .NET developers. Er zijn 2 seniors en 5 mediors. Binnen het bedrijf draaien twee systemen. Het kernsysteem en het legacy systeem. Het kernsysteem is grotendeels op .NET gemaakt en deels .NET Core, de frontend is een MVVM

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

19/10/2019 05:14:39
 
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.