perdido_e_sozinho Posted August 30, 2005 at 10:43 AM Report #4146 Posted August 30, 2005 at 10:43 AM A importância das Coding Conventions Nem todos os programadores concordam com as convenções de código, o facto é que estas são muito importantes, uma vez que permitem uniformizar o código, permitindo que vários departamentos programem da mesma maneira de forma a unir mais tarde todo um projecto. Imaginem o caos de programar um Windows ou Linux com milhoes de linhas de código onde cada programador programava com a suas próprias regras. Quando nunca se utilizou qualquer regra na definição de controlos e variáveis, é dificil começar a usar regras, uma vez que se perde por vezes mais tempo, mas o facto é que em grandes programas esse tempo é ganho mais tarde. Além quantos de vocês não voltaram a pegar num projecto e não perceberam nada do que haviam desenvolvido à algum tempo atrás. As Melhores Práticas para VB Option Strict On Esta opção obriga a que todas as variáveis sejam declaradas o facto é que evitam erros desenvolvidos sem razão melhorando a qualidade do código. Camel Casing Camel Casing consiste em colocar em minúscula a primeira letra, num formato idêntico ao seguinte: listaUtilizadores, dadosRegisto... No VB deve ser utilizado em variáveis locais, privadas(private) ou protegidas (protected) que não estão acessíveis externamente. Pascal Casing Pascal Casing consiste em colocar em maiúscula a primeira letra de cada palavra num formato idêntico ao seguinte: ListaUtilizadores, DadosRegistos... No VB deve ser utilizado sempre que não se aplique o Camel Casing e em objectos. Comentários Todos os procedimentos devem ser correctamente comentados, de forma a possuirem informação que permita definir a sua finalidade e funcionamento. Deve-se também comentar as variáveis e blocos lógicos. O comentário deve refletir o que faz o bloco de código e não repetir o código: ERRADO 'Abrir um ficheiro de texto Dim sr as new StreamReader("c:\texto.txt") 'Declarar um Inteiro Dim i as Integer 'Repetir a leitura de cada linha While sr.ReadLine() 'Acrescentar 1 i = i +1 End While CORRECTO 'Conta o número de linhas no ficheiro Dim sr as new StreamReader("c:\texto.txt") Dim i as Integer While sr.ReadLine() i = i +1 End While A ter em Conta Muitas pessoas acham que usar funções do namespace Microsoft.VisualBasic é incorrecto. Não podiam estar mais erradas, o facto é que estas funções fazem parte do próprio framework, e como tal não têm qualquer incompatibilidade com o framework. O que pode causar problemas e deve ser evitado ao máximo são as funções do namespace Microsoft.VisualBasic.Compactility que surge normalmente na conversão de projectos de VB6 para VB.NET. Este namespace é apenas temporário e tem de ser incluído nos projectos, causando muitos problemas. Devem ser sempre usados nomes consistentes e reveladores do conteúdo das variáveis. Variáveis i,j,k podem ser usados em loop's triviais, mas se necessita de uma variável para guardar dados deve usar um nome consistente como por exemplo sNomeAluno. Hungarian Notation A Hungarian Notation foi criada com o objectivo de identificar o tipo de variável através do seu nome, o facto é que quando trabalhamos com muitos controlos ou em grupo, isto pode ser muito util. De facto a Hungarian Notation é universal e é usada em diversas linguagens. Para utilizar a Hungarian Notation basta adicionar um prefixo em minusculas ao nome da variável. Cada Prefixo tem um significado. Ex.: frmMenu no VB é uma form chamada Menu. Controlos Standart --------------------------------------------------------------------------------- Button btn CheckBox chk CheckedListBox clst ColorDialog cdlg ColumnHeader chdr ComboBox cbo ContextMenu cmnu CrystalReportViewer crv DataGrid grd DateTimePicker dtp DomainUoDown dud ErrorProvider erp FontDialog fdlg Form frm GroupBox grp HelpProvider hlp HScrollBar hsb ImageList img Label lbl LinkLabel lnk ListBox lst ListView lvw Menu mnu MonthCalendar cal NotifyIcon nico NumericUpDown nud OpenFileDialog odlg PageSetupDialog psd PictureBox pic PrintDialog pdlg PrintDocument pdoc PrintPreviewControl ppc PrintPreviewDialog ppd ProgressBar pbr RadioButton rad RadioButtonList rbl RichTextBox rtf SaveFileDialog sdlg Splitter spl StatusBar sbr StatusBarPanel sbp TabControl tab TabPage pge TextBox txt Timer tmr ToolBar tbr ToolBarButton tbb TooTip tip TrackBar trk TreeNode nod TreeView tvw VScrollBar vsb Data Objects ----------------------------------------------------------------------- Connection cnn Command cmd CommanderBuilder cb DataAdapter da DataColumn dcl DataReader dr DataRow drw DataSet ds DataTable dt DataView dv As coisas que sempre foarm más, são más e sempre serã más! O Goto, Option Explicit Off e On Error Resume Next nunca foram muito boas ideias. E ainda não são. Para controlo de erros deve-se utilizar a estrutura Try. Try Dim x as Integer x = x / 0 Catch ex as Exception MsgBox(ex.Message) Finally ' Este código corre sempre End Try Esta forma de controlo de erros evita que o programa tenha problemas e ainda permite determinar com precisão o tipo de erro, assim como correr algum código de correcção. Deve-se ainda evitar o uso de caracteres fora do padrão A-Z, 0-9. User Interface As aplicações deverão ter sempre uma form de Sobre a aplicação e um menu de Ajuda para que o utilizador saiba onde pode encontrar suporte. Cada utilizador deve utilizar estas Coding Conventions como entender e devem facilitar o seu trabalho, não complica-lo. Com os melhores cumprimentos, Sérgio Matias
deathseeker25 Posted August 30, 2005 at 11:18 AM Report #4147 Posted August 30, 2005 at 11:18 AM Grande post. Acho que já estava na altura de fazer passar as regras para o pessoal trabalhar em conjunto. Cumps
AriOps Posted August 30, 2005 at 11:47 AM Report #4150 Posted August 30, 2005 at 11:47 AM por acaso a maior parte dessas regras já usava e não sabia que faziam parte disso... dá jeito Daniel Correia
David Pintassilgo Posted August 30, 2005 at 11:59 AM Report #4151 Posted August 30, 2005 at 11:59 AM por acaso a maior parte dessas regras já usava e não sabia que faziam parte disso... dá jeito Yá!, há umas quantas que inconscientemente a malta usa, mas há outras coisas que são bastante interecantes que nao sabia que haviam, por exemplo isto: Controlos Standart --------------------------------------------------------------------------------- Button btn CheckBox chk CheckedListBox clst ColorDialog cdlg ColumnHeader chdr ComboBox cbo ContextMenu cmnu CrystalReportViewer crv DataGrid grd DateTimePicker dtp DomainUoDown dud ErrorProvider erp FontDialog fdlg Form frm GroupBox grp HelpProvider hlp HScrollBar hsb ImageList img Label lbl LinkLabel lnk ListBox lst ListView lvw Menu mnu MonthCalendar cal NotifyIcon nico NumericUpDown nud OpenFileDialog odlg PageSetupDialog psd PictureBox pic PrintDialog pdlg PrintDocument pdoc PrintPreviewControl ppc PrintPreviewDialog ppd ProgressBar pbr RadioButton rad RadioButtonList rbl RichTextBox rtf SaveFileDialog sdlg Splitter spl StatusBar sbr StatusBarPanel sbp TabControl tab TabPage pge TextBox txt Timer tmr ToolBar tbr ToolBarButton tbb TooTip tip TrackBar trk TreeNode nod TreeView tvw VScrollBar vsb Data Objects ----------------------------------------------------------------------- Connection cnn Command cmd CommanderBuilder cb DataAdapter da DataColumn dcl DataReader dr DataRow drw DataSet ds DataTable dt DataView dv cool stuffs to check. http://blog.zxcoders.com//
vbmaster Posted August 30, 2005 at 01:01 PM Report #4152 Posted August 30, 2005 at 01:01 PM Sim senhor, apesar de já conhecer algumas das coisas como a Hungarian Notation (que fui logo torcido desde "pequenino" para a utilizar, embora nunca a utilize:P) e o ExceptionHandling achei este (será tut?) bastante interessante. Keep it up 8) 8) 8)
programadorvb6 Posted May 7, 2009 at 09:41 PM Report #262238 Posted May 7, 2009 at 09:41 PM Bom post !!!! Eu como não tive ninguém que me torce-se , aprendi nos livros que comprei !!! ______________________________________________________________________________ Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.
fLaSh_PT Posted June 29, 2009 at 03:32 PM Report #275583 Posted June 29, 2009 at 03:32 PM Bom post! É mesmo isso.. pode não parece ser.. mas tudo isso é uma questão de pratica que se tornará num habito! Compr. Making the impossible possible and pwing the world on db at a time.
Henrry Posted October 12, 2009 at 11:01 AM Report #291328 Posted October 12, 2009 at 11:01 AM Ainda se usa Hungarian Notation? Pensei que já tivesse caído em desuso.
ruileal Posted April 11, 2010 at 10:34 PM Report #321091 Posted April 11, 2010 at 10:34 PM sempre utilizei este tipo de convenção para não me perder com as variáveis, já utilizo desde o clipper a mais de 20 anos 😉 (não eram estas eram minhas claro)
Baia Posted May 28, 2010 at 09:22 PM Report #330401 Posted May 28, 2010 at 09:22 PM também comecei a usar estas regras á pouco tempo.. e agora olho para os trabalhos mais antigos e não sei como fui capaz de me orientar...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now