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

Code Aesthetics

DZone's Guide to

Code Aesthetics

· Web Dev Zone
Free Resource

Get deep insight into Node.js applications with real-time metrics, CPU profiling, and heap snapshots with N|Solid from NodeSource. Learn more.

  • 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

Node.js application metrics sent directly to any statsd-compliant system. Get N|Solid

Topics:

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}