

Code Standards & Front-end Development Best Practices - oewolf
http://na.isobar.com/standards/

======
dmpatierno
A very detailed and well-written document. My favorite line:

    
    
       Use CSS sprites generously. They make hover states easy, 
       improve page load time, and reduce carbon dioxide emissions.
    

Funny and true.

------
Stormbringer
I gave up on IE a long time ago. If they don't support the standards, I don't
support them.

Of course my pages still render on IE, but I don't do any quirks mode stuff,
that just causes too much pain.

Oh, well, that's not strictly true, since I have to have two different things
in the CSS for rounded corners (webkit vs mozilla), but apart from that I try
to keep quirks to a minimum, and IE can go die in a fire for all I care.

~~~
bauderjoshua
Do you not worry about viewers that still use IE?

~~~
oewolf
He just implied he doesn't. Not that his pages doesn't render, he just don't
care to polish them for IE.

~~~
Stormbringer
Correct.

Take border-radius for instance. It is 'fluff'. It makes no functional
difference to the page whether it is there or not.

Now, for Moz and Webkit, I get nice looking rounded corners for negligible
effort. In order to duplicate that look on IE there are any number of ways to
do it, but all of them involve _enormously_ much more effort, and are much
more fragile (anything where you need pixel perfect positioning is fragile and
easily broken by different browser versions).

Additionally, the longer WE support IE's blatant disregard of standards, the
less incentive they have to adhere to those standards.

------
melvinram
The difficulty with such "standards" and "best practices" is that what is
standard can often be subjective. For example, under Indentation, they have:

    
    
      For all code languages, we require indentation to be 
      done via soft tabs (using the space character). Hitting 
      Tab in your text editor shall be equivalent to four spaces.
    

Umm, who died and made you king? <tongue and cheek> I don't like using 4
spaces. I find it a waste of space, literally. In ruby community, 2 spaces is
generally accepted.

With that said, it's probably not a bad idea to have discussions around such
standards with the understanding that there may be more than one good way to
skin a cat.

~~~
shoeless
But they have a standard, and this is good for consistency across their
development. What may be better is "follow the standard that you are working
on", meaning, don't change coding style because you prefer your own, adopt
what is already there, or the norms for a project (e.g. 2 space indents for
all that Ruby code we have).

~~~
pstinnett
Agreed. Maintaining consistency is key.

~~~
insin
On that note, I like the parting words in Google's JavaScript Style Guide (
[http://google-
styleguide.googlecode.com/svn/trunk/javascript...](http://google-
styleguide.googlecode.com/svn/trunk/javascriptguide.xml) ):

 _BE CONSISTENT._

If you're editing code, take a few minutes to look at the code around you and
determine its style. If they use spaces around all their arithmetic operators,
you should too. If their comments have little boxes of hash marks around them,
make your comments have little boxes of hash marks around them too.

The point of having style guidelines is to have a common vocabulary of coding
so people can concentrate on what you're saying rather than on how you're
saying it. We present global style rules here so people know the vocabulary,
but local style is also important. If code you add to a file looks drastically
different from the existing code around it, it throws readers out of their
rhythm when they go to read it. Avoid this.

------
mraybman
I think whether you agree with the specific technical points or not, this is a
great article. I don't know if "best practices" exist, but consistent
practices do, and they make it a lot easier understand other people's code.
(and impose a minimum quality standard on people not familiar with the tech
yet).

For example, Adobe never really bothered with specifying best practices for
Flex, so now every Flex developer's code looks different, and there is a lot
of unnecessary trial and error. (Although I like Flex as a framework)

------
nathanlrivera
The W3C HTML validator gives up after the second line of the document:

[http://validator.w3.org/check?uri=http%3A%2F%2Fna.isobar.com...](http://validator.w3.org/check?uri=http%3A%2F%2Fna.isobar.com%2Fstandards%2F&charset=%28detect+automatically%29&doctype=HTML5&group=0&user-
agent=W3C_Validator%2F1.2)

~~~
Stormbringer
Here's the source:

    
    
      ﻿<!DOCTYPE html> 
      <html lang="en"> 
      <head> 
      <meta charset="utf-8">
      <title>Code Standards | Isobar</title> 
      <link rel="stylesheet" href="assets/master.css" /> 
      </head> 
      <body> 
    
    
    
      <!--  
                    _^_
                   / _)         
            .-^^^-/ /          we like dinosaurs as much as you  do.
        __/       /              
        <__.|_|-|_|             
        
        -->
    
    

I see a couple of problems. First up, they're not indenting. The validator is
spitting the dummy because of two things, the first is the spurious whitespace
before the doctype tag, the second is the title (which it thinks is missing),
but the real problem is with the meta tag which isn't properly closed.

But hey, free dinosaur. With hat.

~~~
allbutlost
Using html5 (or 4) the meta tag doesn't need to be closed. Personally I prefer
to do close or self-close tags anyway as I entered the game with xhtml, whose
syntax I still prefer.

------
brandon
Lots of the content (and most of the styling) was adapted from here:
<http://developer.fellowshipone.com/patterns/code.php>

I'm fond of the original because it also includes some great UI design
patterns.

------
famousactress
Let's take a vote. All in favor of never using the term 'Best Practices' ever,
ever, again?

(no offense to the article's author.. actually looks really lucid and well
written. I just tire of the idea that Best Practices™ exist. They don't.)

------
bauderjoshua
Wow this was very informative and I hope that people will actually take note
and start to follow these standard more. The question I have is when should we
stop building for certain versions of browsers for example ie7

------
dfischer
Great resource. It shall aid me in writing a book about this!

