REGRAS DE CODIFICAÇÃO PARA O SMARTSHARE



Documentos relacionados
Validando dados de páginas WEB

CONVENÇÃO DE CÓDIGO JAVA

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

Introdução aos cálculos de datas

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

Consulta de endereço através do Cep

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Manual Integra S_Line

Aula 06 Usando controles em ASP.NET

INTRODUÇÃO AO DESENVOLVIMENTO WEB

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

Iniciando o MySQL Query Brower

Informática I. Aula 6. Aula 6-12/09/2007 1

Prof. Esp. Adriano Carvalho

Introdução à Linguagem

Guia Site Empresarial

2 echo "PHP e outros.";

Sumário. Tutorial: Editor de Exercícios Online para o professor

Lista de operadores de comparação - > Maior que - < Menor que - <= Menor ou igual a - >= Maior ou igual a - === Igual a -!

Nome: n.º WEB Série 2B 2C 2D 2E Barueri, 17/08/2009 2ª Postagem Disciplina: Gerenciamento e Estrutura de Banco de Dados Professor: Márcio

Linguagem de Programação. Introdução ao PHP. Prof Mauricio Lederer Ciência da Computação - UNIANDRADE 1

Manual de Relação de Pontos por Indicação

Sintaxe Básica de Java Parte 1

Aplicativo da Manifestação do Destinatário. Manual

Acessando um Banco de Dados

Internet e Programação Web

Introdução ao PHP. Prof. Késsia Marchi

Curso de Programação Computadores

Introdução à Lógica de Programação

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Manual de Utilização COPAMAIL. Zimbra Versão 8.0.2

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

Orientação a Objetos

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

e à Linguagem de Programação Python

Astra. Introdução e conceitos básicos do sistema

Criando, inserindo e exibindo PHP+MySql

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Instruções de uso do TABNET. Linha, Coluna e Conteúdo

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2014

4 RECURSOS AUTOMATIZADOS DO EXCEL

JavaScript (Funções, Eventos e Manipulação de Formulários)

Sumário. Capítulo 1 O que é o PHP? Capítulo 2 Instalação do PHP Capítulo 3 Noções básicas de programação... 25

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Fox Gerenciador de Sistemas

Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Tarefa Orientada 2 Visual Studio 2005 e Visual C#

Criando um projeto ASP.Net no Visual Studio 2008

Scriptlets e Formulários

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de ]

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Mais sobre uso de formulários Site sem Ajax

LINX POSTOS AUTOSYSTEM

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS

Microsoft Visual Studio 2010 C# Volume II

CONSTRUÇÃO DE BLOG COM O BLOGGER

W o r d p r e s s 1- TELA DE LOGIN

Procedimentos para Reinstalação do Sisloc

Manual Administrador - Mídia System

Inserindo Dados no Banco de Dados Paradox.

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

Manipulando Strings no VBA (Replace, Mid e InStr)

MANUAL DE NAVEGAÇÃO DO MILLENNIUM BUSINESS

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

Java Beans e Servlets

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

CRIANDO TEMPLATES E LEGENDAS

RESUMO DE CATALOGAÇÃO

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

Manual de Integração Web Service

Manual do usuário (v 1.2.0) E-commerce

SSE 3.0 Guia Rápido Parametrizando o SISTEMA DE SECRETARIA Nesta Edição Configurando a Conexão com o Banco de Dados

Programando em C# Orientado a Objetos. By: Maromo

Análise e Tramitação de Projetos nos Comitês de Ética em Pesquisa

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

TUTORIAL DE UTILIZAÇÃO. Rua Maestro Cardim, cj. 121 CEP São Paulo - SP (11)

COMO OTIMIZAR A SUA PLANILHA ATRAVÉS DA GRAVAÇÃO DE UMA MACRO EM EXCEL

INSTALAÇÃO DO SISTEMA CONTROLGÁS

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO

ROTINAS PADRÕES DO SISTEMAS

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

GUIA BÁSICO DA SALA VIRTUAL

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Criando um script simples

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Moodle - CEAD Manual do Estudante

Transcrição:

REGRAS DE CODIFICAÇÃO PARA O SMARTSHARE 1. Como nomear variáveis, classes métodos e etc... Métodos descrevem ações, portanto todos os métodos DEVEM conter no mínimo um verbo SEMPRE no infinitivo. Toda a regra de negócio DEVE ser em Português (Brasil), ou seja, a área de informática também implica num ótimo conhecimento da nossa língua. O nome da variável, método, classe ou propriedade e etc. DEVE possibilitar o fácil reconhecimento de sua função/funcionalidade. Não é necessário economizar espaço em disco. Os nomes de variáveis PODEM ser grandes. Se for muito exagerado, abreviar as palavras comuns como Nome (nm), Data (dt) e etc. O caractere underscore (_) não poderá ser usado no meio de nomes de variáveis e etc.. (Ex: string nm_pessoa; //Errado). Não utilizar nenhum caractere especial. Ou seja, sem acentos, sem cê-cedilha ou símbolos fora do alfabeto. Sintaxe:

2. Usar prefixos em: Variáveis internas da classe Parâmetros de métodos Variáveis internas do método Ou, não usar sufixos em: namespaces, classes, propriedades ou métodos. Tipo Int String Long Double Float Bool Object DateTime Button Image CheckBox DropDownList (Combo Box) Validator TextBox GridView PlaceHolder Repeater Prefixo int str lng dbl flt boo obj dt btn img chk ddl vld txt grid plh rpt

3. Comentários XML Todas as classes, métodos, propriedades e variáveis DEVEM conter comentários XML. Após o terminar de escrever a assinatura do método (tipo de retorno e parâmetros), classe ou propriedade, uma linha acima do mesmo, digitar três barras invertidas (///). A tag <summary> deverá conter uma BREVE descrição do que a variável, método, classe e etc... faz ou para o que serve. A tag <param name="parameter"> descreve cada parâmetro de um método. Se o método tiver mais de um parâmetro, haverá várias tags param. Descrever o que o método espera que este parâmetro seja? A tag <remarks> é usada para colocar um comentário adicional que não caberia no summary. E também para chamar a atenção de quem o está usando para alguma regra interna que seja necessário saber. A tag <returns> serve para descrever o que resultará do método. Além dos comentários XML, utilizar os comentários padrão explicar lógicas em blocos de código que podem parecer confusas mesmo com a aplicação dos comentários xml e programação orientada à objetos. Todos os comentários servirão para gerar a documentação técnica do projeto que será disponibilizada internamente. Portanto, atentem-se as regras de português e ao profissionalismo.

4. Blocos de código e Regions: O código deverá ser divido basicamente em blocos e regions (Exemplo na próxima página): o Using o Namespace o Classe o Variáveis o Construtor (es) (ou page_load, no case de uma página asp.net) o Propriedades o Métodos

Exemplo de comentários XML, estrutura do código e regions: using System; using System.Text; using System.Windows.Forms; using SmartShare.Count; using SmartShare.Database; namespace Framework_Tester.DAL /// Exemplo de uso dos comentários XML class XmlComment #region Variáveis internas /// Indica o estado atual da página private int _intvar = 10; /// Indica o nome da página private const String NomePagina = ""; #endregion [a1] Comentário: A primeira parte da classe são os namespaces. Agrupar os namespaces caso venham de locais diferentes como System, Windows, SmartShare e etc... [a2] Comentário: Localização da classe, ou tudo o que estiver dentro do mesmo #region Construtores /// Método construtor da classe public XmlComment() /// Método construtor da classe com parâmetro /// <param name="parameter"> /// Objeto a ser iniciado com o construtor da classe

/// </param> /// <remarks> /// A classe já inicia o objeto internamente. /// </remarks> public XmlComment(object objparameter) #endregion #region Propriedades públicas /// Propriedade que indica o nome da pessoa public String Property get return ""; #endregion [a3] Comentário: O uso de regions é importantíssimo pois facilita a visualização do código criando blocos ocultáveis com comentários #region Métodos públicos /// Altera a chave de criptografia /// <param name="strparameter"> /// Chave nova para criptografia /// </param> /// <returns>nova string criptografada</returns> public String Method(String strparameter) #endregion

Exemplo do mesmo código acima com as regions ocultas:

5. Regras de SQL Os comandos, funções e palavras-chave deverão estar em letra maiúscula. Ex: SELECT, INTO, UPPER, CONVERT. Os nomes de tabela e seu apelido deverão estar em letra maiúscula. Ex: FROM USUARIO, DOCUMENTO DOC Os nomes de campos deverão estar em letra minúscula Ex: DOC.cd_documento, SELECT ds_usuario, dt_nasc Ao utilizar uma string de entrada do usuário como valor de comparação em um SQL (Ex: SELECT cd_documento WHERE ds_documento LIKE [variavel digitada pelo usuário] ) SEMPRE escapar a string (em C#) para prevenir código malicioso. Nunca utilizar SELECT *. Sempre especificar cada um dos campos que serão selecionados da tabela um por um. Ao inserir em um campo cujo tipo seja bit (boolean) sempre trabalhar com os valores 0 ou 1 sem aspas. Nunca inserir os valores true ou false. Lembrando que 0 significa false e 1 significa true.

6. Banco de Dados Lembrar da existência do ExecuteScalar() para consultas que retornam somente uma coluna e uma linha. Importantíssimo lembrar que o ExecuteReader fica conectado ao banco de dados enquanto você não finalizá-lo. Execute o SQL, repasse os resultados e feche-o o mais rápido possível. Quando for necessário executar comandos SQL recursivos, SEMPRE utilizar o objeto DataSet (comando FillDataSet) para manipular os dados. 7. Strings Não será mais permitida a declaração de variáveis do tipo string primitivo ( s com letra minúscula). Apenas a versão orientada a objeto do mesmo: String ( s com letra maiúscula). O objeto String se encontra em System.String. É importantíssimo lembrar que a concatenação de strings é um processo lento. ( ola + + mundo + variável...). Portanto em casos de concatenação dinâmica de strings SEMPRE utilizar a classe StringBuilder. A classe se encontra em System.Text.StringBuilder. StringBuilder sql = new StringBuilder(); string x = ok ; while( x!= y) sql.append(x); //Equivalente a: sql = sql + x; mas de forma muito mais rápida. Conn.ExecuteReader(sql.ToString()); 8. Parâmetros pela URL É importantíssimo utilizar nomes para a chave do parâmetro que sejam abstratos. Ou seja, se um usuário olhar a URL, não irá entender o parâmetro ou como utilizá-lo. Colocar nomes de chaves simples como id, cd. Com o mínimo de letras possíveis e que não formem palavras coerentes. Comentar internamento no código para que o desenvolvedor saiba o significado do parâmetro Cuidar com os valores passados pela URL. Não passar informações restritas do sistema como ID dos registros sem que estejam criptografados.

9. Validação de Formulário Todos os formulários DEVEM primariamente ser validados no servidor. A validação no cliente (javascript) deve ser usada apenas como uma facilidade extra Ao utilizar controles de validação do.net, também é necessário fazer esta verificação no servidor, que é feita da seguinte forma: Assim, todo o código dentro do bloco da validação if(page.isvalid) está protegido no servidor. Funcionamento: A propriedade da página IsValid é alimentada de True ou False automaticamente pelo.net quando a página é carregada. Ou seja, todas as validações são executadas antes do evento Page_Load e dependendo do resultado alimenta a propriedade com True ou False. O.NET irá continuar o carregamento da página e/ou eventos que foram acionados independente do valor final da propriedade IsValid, pois cabe ao programador tomar a ação desejada baseada nesta propriedade. No caso da Tela de Gerenciamento Padrão, não há nenhum tratamento especial, simplesmente o bloco do evento fica protegido da execução caso o formulário não esteja válido.

CHANGELOG: Tópico Data Descrição 5 Adicionada regra para uso de valores bit 8 21/02/2007 Novo tópico 9 20/03/2007 Novo tópico