<http://schema.org/articleBody>
"Como os idiomas reais, cada linguagem de programa\u00E7\u00E3o tem suas respectivas regras, individualidades, pontua\u00E7\u00F5es, pausas e pontos em comum com outras linguagens. Voc\u00EA precisa conhecer essas peculiaridades para falar fluentemente ou no m\u00EDnimo ser entendido. Nas linguagens de para web ou qualquer outra linguagem de programa\u00E7\u00E3o, precisamos seguir algumas regras b\u00E1sicas para que o c\u00F3digo n\u00E3o vire uma l\u00EDngua estrangeira no meio do projeto.\r\n\r\nDefinir padr\u00F5es \u00E9 normal para que a equipe inteira escreva o c\u00F3digo da mesma maneira. Esse assunto \u00E9 longo e muito importante para todas as equipes de desenvolvimento. Programadores j\u00E1 quiseram me matar v\u00E1rias vezes porque eu uso TABS em vez de ESPA\u00C7OS em arquivos Python/PHP. Programadores gostam de espa\u00E7os. Eu n\u00E3o. Mas n\u00E3o \u00E9 o nosso gosto que vai definir quais os padr\u00F5es de c\u00F3digo que devemos seguir.\r\n\r\nQuando definimos padr\u00F5es e boas pr\u00E1ticas, garantimos que todos da equipe conseguir\u00E3o ter o m\u00EDnimo de entendimento do c\u00F3digo daquele projeto que est\u00E1 na empresa a tempos. Se algu\u00E9m da equipe adoecer ou precisar ir para o Canad\u00E1, outro integrante pode assumir o seu lugar sem precisar se preocupar em aprender novas regras, porque elas devem ser as mesmas do projeto anterior.\r\n\r\n\u00C9 importante que os integrantes da equipe sejam sempre fi\u00E9is aos acordos firmados no momento em que combinam esses padr\u00F5es. \u00C9 importante tamb\u00E9m que, caso eles encontrem um integrante fora da lei, que eles forcem o meliante a seguir as regras. J\u00E1 vi gente perdendo o trabalho de uma semana por que estava trabalhando diretamente pelo FTP e o projeto n\u00E3o estava no GIT. O programador simplesmente APAGOU o projeto da pessoa. Nunca mais ela resolveu editar os arquivos fora do controle de vers\u00E3o. Esse tipo de atitude \u00E9 perigosa mas muito necess\u00E1rias \u00E0s vezes. Devemos for\u00E7ar as regras num ambiente onde todos devem quem, quando e como as linhas de c\u00F3digo do projeto foram escritas.\r\n\r\nAlguns pontos para se pensar e combinar:\r\n\r\n&lt;h6&gt;Identa\u00E7\u00E3o&lt;/h6&gt;\r\nComo devemos identar o c\u00F3digo? Com espa\u00E7os ou tabs? Se for com espa\u00E7os quantos? \r\n\r\n&lt;h6&gt;Espa\u00E7os em brancos (Whitespaces)&lt;/h6&gt;\r\nEspa\u00E7os devem ser inclu\u00EDdos depois de uma opera\u00E7\u00E3o condicional? Espa\u00E7os devem ser colocados entre o seletor e as chaves? E no final de cada linha, precisa?\r\n\r\n&lt;h6&gt;Nomenclatura&lt;/h6&gt;\r\nComo as classes, ids e vari\u00E1veis devem ser nomeadas? E as fun\u00E7\u00F5es? Vamos usar &lt;a href=\"http://en.wikipedia.org/wiki/CamelCase\"&gt;CamelCase&lt;/a&gt;?\r\n\r\n&lt;h6&gt;Coment\u00E1rios&lt;/h6&gt;\r\nComo faremos com os coment\u00E1rios? Como ser\u00E3o os delimitadores do coment\u00E1rio? O coment\u00E1rio deve ser completo ou precisa ser algo mais resumido?\r\n\r\n&lt;h6&gt;Arquivos&lt;/h6&gt;\r\nComo os arquivos, que n\u00E3o fazem parte da estrutura padr\u00E3o do CMS, Framework e etc dever\u00E3o ser chamados? E o nome das pastas? Como as p\u00E1ginas ser\u00E3o chamadas?\r\n\r\n&lt;h6&gt;Chaves e ponto/v\u00EDrgula&lt;/h6&gt;\r\nAs chaves dever\u00E3o ser abertas na mesma linha ou devemos quebrar linhas? Vamos sempre usar ponto/v\u00EDrgula? Vamos usar o padr\u00E3o &lt;a href=\"http://en.wikipedia.org/wiki/Indent_style#K.26R_style\"&gt;K&amp;R ou Allman&lt;/a&gt;?\r\n\r\nQuando definimos estas pequenas coisas, diminu\u00EDmos muitos percal\u00E7os no meio do caminho. J\u00E1 vi projetos atrasarem meses por que um palerma abriu e salvou arquivos com o charset diferente do que j\u00E1 tinha sido combinado no in\u00EDcio.\r\n\r\n\"It's more important for people on a team to agree to a single coding style than it is to find the perfect style.\" &lt;a href=\"http://www.amazon.com/gp/product/0596102356/ref=as_li_ss_tl?ie=UTF8&amp;tag=tableless-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0596102356\"&gt;Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications&lt;/a&gt;\r\nIndico este livro sobre esse e outros assuntos sobre a constru\u00E7\u00E3o, desenvolvimento e manuten\u00E7\u00E3o de websites"^^<http://www.w3.org/2001/XMLSchema#string>
<http://tableless.com.br/introducao-a-padroes-de-codificacao/>