PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 VERSÃO 1.4 10/01/2013 UDS SOLUÇÕES DIGITAIS PROGRAMAÇÃO MANUAL DE INSTRUÇÕES Instruções, métodos e recomendações para desenvolvimento de sistemas na UDS. 1 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 Sumário Apresentação ................................................................................................................................ 3 Estrutura de pastas: ...................................................................................................................... 4 SITE ........................................................................................................................................... 4 LOJA ........................................................................................... Erro! Indicador não definido. SISTEMA .................................................................................... Erro! Indicador não definido. Identação dos arquivos ................................................................................................................. 5 Declaração de Variáveis ............................................................................................................... 5 Declaração de Funções e Classes................................................................................................ 5 DER ............................................................................................................................................... 6 W3C / SEO .................................................................................................................................... 7 Padrão para declaração de META TAGS ................................................................................. 7 Utilização correta da TAG IMG .................................................................................................. 7 CSS ............................................................................................................................................... 8 Exemplo de Ordenação de atributos CSS ................................................................................. 8 PHP ............................................................................................................................................... 9 Modelo de Cabeçalho / Rodapé de Arquivo ............................... Erro! Indicador não definido. Modelo de IF a ser adotado. ...................................................................................................... 9 Editor de Textos .......................................................................................................................... 11 Considerações............................................................................................................................. 12 2 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 Apresentação Este manual é composto de instruções, métodos e demais recomendações que devem ser pontualmente seguidas a fim de padronizar e garantir a qualidade dos códigos desenvolvidos nesta empresa. É imprescindível a adoção por parte de todos os colaborador e terceiros envolvidos em todos os procedimentos conforme apresentados neste documento a fim de facilitar o trabalho com a qualidade e facilidade de manutenção futura necessária. 3 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 Estrutura de Pastas e Arquivos: Estrutura de pastas e subpastas que devem ser adotadas, sempre em minúsculo, sem espaços ou utilização de hífen/sublinhado. / /empresa/ /tipo/ /ano/ //RAIZ DO SISTEMA DE ARQUIVOS // Nome por extenso, em minúsculo, sem espaços //LOJA, SITE ou SISTEMA // No formato YYYY SITE Todos os arquivos da RAIZ do projeto devem ser sempre nomeados em minúsculo, no singular e utilizando o verbo da ação desejada hífen com a página em questão, por exemplo, no caso de um arquivo que realiza o envio de um cadastro, o nome será “cadastro-enviar.php”. / /js /jquery /inc /images /swf /src /der /sgc /class // // // // // // // // // // // Arquivos em minúsculo sempre no singular e verbo. Ex. cadastro-enviar.php Arquivos javascript com o nome em minúsculo Arquivos para biblioteca jquery com nome minúsculo Arquivos que serão utilizados para include Imagens em baixa resolução utilizadas (72dpi) Arquivos em flash SWF, não incluir FLA Arquivos fonte que não serão enviados para produção DER do banco de dados Subpasta do administrador de conteúdo Classes do software 4 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 Identação dos arquivos Todos os arquivos desenvolvidos ou modificados devem apresentar identação conforme apresentada a seguir, é fundamental que absolutamente todos os detalhes sejam seguidos exatamente como determinados. Tabulação com TAB Comentários antes de qualquer estrutura de comparação ou repetição – Utilizar: /** * Descrição do comentário * * @name Nome da estrutura que o comentário está se referindo */ Declaração de Variáveis Importante respeitar a identação, sempre tabular (TAB) em relação a variável com o maior nome. O nome da variável deve sempre começar em minúscula e primeira letra de cada nova palavra deverá começar com letra maiúscula. Sempre a nomenclatura das variáveis deverá ser no SINGULAR. Concatenar os nomes sem utilizar hífen, sublinhado ou qualquer separação, não utilizar também acentos ou caracteres especiais. No caso da necessidade de utilização de números, escrever por extenso. As variáveis deverão ser declaradas em português. Todas as variáveis de Java Script devem conter um sublinhado “_” antes do nome da mesma. Exemplo de nomenclatura e identação padrão em PHP: $i $teste $testeDeVariavel $testeDeVariavelDois = = = = 0 1 5 7 Exemplo de nomenclatura e identação padrão em Java Script: _i _teste _testeDeVariavel _testeDeVariavelDois = = = = 0 1 5 7 5 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 Declaração de Funções e Classes Importante respeitar a identação, sempre tabular (TAB) em relação a variável com o maior nome. Sempre a nomenclatura das variáveis deverá ser no SINGULAR. O nome da função e classe deverá SEMPRE iniciar com a primeira letra em maiúsculo e a primeira letra de cada nova palavra deverá começar TAMBÉM em maiúsculo. Criar um arquivo chamado funções.inc.php dentro da pasta /inc onde conterão todas as funções utilizadas no projeto. DER Todos os projetos devem possuir seu DER, o qual precisa ser mantido atualizado e armazenado na pasta ../src/der do projeto em questão. 6 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 W3C / SEO Procure sempre aplicar as tags <h1>, <h2>, ... em títulos. Onde: Em títulos com maior importância começando com o h1, menor importância h2 e assim por diante. Sempre utilizar <DIV> em vez de <TABLE> (tableless). A fim de garantir validação no W3C e melhor otimização para mecanismos de busca (SEO) importante seguir a determinação conforme abaixo: Padrão para declaração de META TAGS <metacharset="UTF-8"> <metaname="url" content="http://www.urldosite.com.br"> <metaname="description" content="Conteúdodosite"> <metaname="Keywords" content="Palavraschaves"> <metaname="subject" content="**Assuntodapagina**"> <metaname="rating" content="General"> <metaname="expires" content="never"> <metaname="charset" content="UTF-8"> <metaname="distribution" content="Global"> <metaname="language" content="portuguese,BR"> <metaname="robots" content="all"> <metaname="revisit-after" content="1Days"> <metaname="Msnbot" content="index,follow"> <metaname="Inktomislurp" content="index,follow"> <metaname="Unknownrobot" content="index,follow"> <metaname="Googlebot" content="index,follow"> <metaname="geo.placename" content="**Buscarnogoogleeinserir**"> <metaname="geo.position" content="**Buscarnogoogleeinserir**">"> <metaname="geo.region" content="BR-PR"> <metaname="ICBM" content=""> <metaname="author" content="nomedoprogramador"> <metaname="company" content="www.grupouds.com.br"> <metaname="publisher" content="www.urldosite.com.br"> <metaname="copyright" content="Copyright©2013"> Utilização correta da TAG IMG <img src=”img.jpg” alt=”Texto alternativo da imagem” title=”Título da Imagem”> 7 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 CSS Localização do arquivo: /css/ Objetivo: folha de estilos Nomenclatura: Deve possuir o mesmo nome do arquivo no qual será aplicado, com a primeira palavra em minúsculo sendo a primeira letra de cada palavra a seguir em maiúsculo, concatenado sem espaços ou hifens. Editor: Notepad++ Extensão: .css Cada página que requer uma folha de estilos deverá ter seu próprio arquivo CSS com o mesmo nome. A ordenação do CSS deverá seguir o seguinte: Exemplo de Ordenação de atributos CSS div{ position: widht: height: line-height: margin: padding: font-family: border: background: absolut; 100px; 100px; 100px; 0; 0; Tahoma; 1px; white; } divDois{ float: widht: height: line-height: margin: padding: font-family: border: } left; 100px; 100px; 100px; 0; 0; Tahoma; 1px; divTres{ clear: widht: height: line-height: margin: padding: font-family: background: } both; 100px; 100px; 100px; 0; 0; Tahoma; white; 8 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 PHP Tipo de Arquivo: .php Objetivo: Arquivos de linguagem PHP Localização: diverso Nomenclatura: Integralmente em minúsculo e separado por hífen Editor: Notepad++ Extensão: .php Cada arquivo deve ser criado separadamente de acordo com sua função, no caso de CRUD, cada função terá seu arquivo individual para que não seja aplicada nenhuma FLAG que determine qual ação será realizada. Ao abrir a TAG PHP sempre utilizar <?php e não somente <? (short tag). Os arquivos em PHP devem seguir as instruções de identação conforme apresentada neste material utilizando codificação UTF-8 (SEM BOM) com padrão de documento HTML 5. Os comentários devem ser amplamente explanados e sempre entre /* e */ mantendo o padrão do PHPDocumentor, não utilizar //. A estrutura de IF está exemplificada abaixo Todos os códigos Java Script devem ser inseridos antes da tag </body>, em caso de utilização de plug-ins, seus respectivos arquivos serão inseridos conforme a estrutura padrão da página, ou seja, Java Script no rodapé e CSS no início do arquivo antes da tag </head>. Em cada página criar uma variável chamada $pagina que receberá o nome do arquivo, para identificar cada página individualmente. Essa variável será usada para identificar a página que está sendo executada com relação aos arquivos incluídos (include) e suas exceções para cada caso. Modelo de estrutura de comparação e/ou repetição a ser adotado. <?php /** * Comentário do IF * * @name IF do exemplo */ if($a=="1"){ /** * Comentário do IF outro IF * * @name Outro IF do exemplo */ if($c=="3"){ $d=5; }else{ $d=4; 9 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 } $b=2; if($c=="3"){ $d=5; }else{ $d=4; } }else{ $b=3; } ?> HTML O padrão de HTML adota é o HTML 5 e será posteriormente validado no W3C, portanto deve ser criado com conhecimento das necessidades dessa verificação. Utilizar essencialmente a codificação UTF-8 (SEM BOM), verifique abaixo exemplo de identação estrutura do HTML. Todos os códigos Java Script devem ser inseridos antes da tag </body>, em caso de utilização de plug-ins, seus respectivos arquivos serão inseridos conforme a estrutura padrão da página, ou seja, scripts no rodapé e CSS devem ser inseridos no início do arquivo antes da tag </head>. <!DOCTYPE HTML> <html> <head> <title> </title> <meta><// Verificar seção de Meta Tags para listagem completa //> </head> <body> <?php include(“cabecalho.php”); ?> <div> Conteúdo do Site </div> <?php include(“rodape.php”); ?> <javascript> </javascript> </body> </html> 10 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 Arquivos de Classe Os arquivos de classe serão nomeados com a primeira palavra inteiramente em minúsculo utilizando a primeira letra de cada nova palavra em maiúsculo, como por exemplo, “arquivoDeTeste.class.php”, deverão ser armazenados na pasta /class . Documentação A documentação do projeto será feita utilizando o phpDocumentor. Editor de Textos O editor de textos adotado como padrão que deverá ser utilizado é o Notepad++ , permitindo utilização de plug-ins conforme sua conveniência. Formulários Ao receber formulários utilizar a função extract(). Nunca colocar “auto complete” nos inputs com tipo texto. Página de Erro (404) Todos os sites e sistemas devem possuir página de erro 404 criada. Envio de E-mail Os formulários ou funções para envio de e-mail devem sempre utilizar a função mail(), nunca utilizar o phpmailer ou qualquer outro tipo de plugin, utilizar sempre captcha para validação antes do envio. Banco de Dados 11 PROGRAMAÇÃO / MANUAL DE INSTRUÇÕES SEJA BEM VINDO V.1.1 V 1.1 O nome da tabela deve ser criado no singular e exatamente com o mesmo nome da variável. Toda chave estrangeira deverá começar com id_. Ficará: id_nomeDaTabelaEstrangeira Utilizar sempre os padrões: Charset = latin1 Collation = latin1_swedish_ci Tipo = innoDB. Segurança Inserir uma página “index.html” em todas as pastas que não possuírem algum tipo de index (index.php,index.html,...) . Fazer função request($nomeDaVariavel) Sempre utilizar conexão ao banco de dados com PDO (DAO) Os arquivos de conexão e de configuração serão chamados da seguinte maneira: o Conexão->dilma.php o Configuração->lula.php o Jamais utilizar arquivos de configuração ou conexão com qualquer extensão ou nome diferente dos apresentados. Qualquer menção ao “sgc” não pode aparecer no HTML, ou seja, deve ser mascarado no .htaccess e no robots.txt. O comando da máscara no .htaccess será: RewriteRule ^uploads/(.*)$ _setadmin/uploads/$1 [L,QSA] Considerações Este documento apresenta métodos que devem ser seguidos para desenvolvimento ou manutenção de qualquer sistema na empresa UDS Soluções Digitais, todo seu conteúdo é de uso restrito da empresa e não deve ser divulgado. 12