Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Code Aesthetics

DZone's Guide to

Code Aesthetics

· Web Dev Zone ·
Free Resource

Deploying code to production can be filled with uncertainty. Reduce the risks, and deploy earlier and more often. Download this free guide to learn more. Brought to you in partnership with Rollbar.

  • This is my first post on Code Aesthetics, a new topic I am exploring. My objective is to come up with a catalog of coding styles that are easy to read. My belief is that there is a direct correlation between maintainability of code and the way it is written.

    This style is simple: if hard coding some values in an array, simply align them according to =>

    • Align by arrows – If initializing an array with one level, align the arrows according to =>.
      $result = array(
         'include_path' => array(),
         'ini'          => array(),
         'const'        => array(),
         'var'          => array(),
         'env'          => array(),
         'post'         => array(),
         'get'          => array(),
         'cookie'       => array(),
         'server'       => array(),
         'files'        => array(),
         'request'      => array()
      );
      
    Update: only do this if the way the array is instantiated is all the same like the example above. However if they are not such as the one below, I think it’s better to go easy on the spacey.

     

    if (in_array( $rCategory, array_keys($categories) ) ) {
       $category = $categories[$rCategory];
    else {
       $category = array(
          'name' => $rCategory,
          'articles' => array()		  
       );
    }	
    

     

    Seen on PHPUnit1, 2

  • Easy on the spacey – For nested arrays, I think it’s better to go easy on the indention spaces. This means not using the tab k
  • ey and instead just using the space bar. I find that the editors I use (vim and eclipse) seem to adapt just fine.

    Here’s a simple example from one of my projects:

     

    $this->assertEquals(array(
       'Sentosa' => array(
          'Beaches' => 1,
          'Rides'   => 2
        ),
        'Asia Malls' => array(
          'Tampines' => 3,
          'Hougang'  => 4
        )	
    ),  $walls );	
    

    A more complicated one:

    $this->assertEquals(array(
       'application_id' => 1,
       'articles' => array(
          array(
            'name' => 'Beaches',
    	'articles' => array(
    	   array(
              'content' => $this->_getContent(1)
              .
              .
              .
    

    Seen on PHPUnit 1

Deploying code to production can be filled with uncertainty. Reduce the risks, and deploy earlier and more often. Download this free guide to learn more. Brought to you in partnership with Rollbar.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}