Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vinícius Siller

Modo mais produtivo para codificar.

Recommended Posts

Como você escreve seu código ASP, seja ele VB ou JS?

Existe uma maneira correta, melhor dizendo, produtiva para escrevê-lo, de modo que altere a velocidade e/ou precisão de sua escrita e/ou execução?

Sei que pode parecer uma discussão vaga, vazia ou até mesmo redundante relacionada ao Fórum ASP do iMasters, sendo que aqui participam desde os membros iniciantes aos moderadores avançados, e sabemos que cada um tem o seu modo, muitas das vezes bem peculiares, para escrever os códigos.

 

Devemos observar alguns pontos interessantes como:

 

1 - Como você escreve os comandos Sql?

Capitalize: Insert, Update, Delete, Distinct, From, Where, Order By, Inner Join, And, Or, Like

Ucase: INSERT, UPDATE, DELETE, DISTINCT, FROM, WHERE, ORDER BY, INNER JOIN, AND, OR, LIKE

Lcase: insert, update, delete, distinct, from, where, order by, inner join, and, or, like

 

2 - Como você escreve as condições?

Capitalize: End, End if, Else, Then, And, Or

Ucase: END, END IF, ELSE, THEN, AND, OR

Lcase: end, end if, else, then, and, or

 

3 - Como você escreve as variáveis?

Capitalize: VariavelX, VariavelY

Ucase: VARIAVELYX, VARIAVELY

Lcase: variavelx, variavely

 

4 - Você escreve seu código todo justificado à esquerda?

<%
If meu_codigo = condicao Then
Response.Write("conteúdo 1")
Response.Write("Conteúdo 2")
End If
%>

5 - Você escreve seu código em blocos tabulados?

<%
	If meu_codigo = condicao Then
		Response.Write("conteúdo 1")
		Response.Write("Conteúdo 2")
	End If
%>

Não sou profundo conhecedor sobre o assunto, por isso gostaria de contar com a participação de todos, pois acredito que tudo que vem para acrescentar de útil ao conhecimento é válido.

Então, como você escreve seu código? Existe uma forma correta ou mais produtiva?

Creio que todos entenderam o objetivo do tópico, caso contrário terei toda boa vontade para me expressar melhor.

 

Você está à vontade para postar a maneira que você escreve seu código.

Comente também quais os benefícios da sua escrita.

Colocarei meus Exemplos:

Uma simples conexão e inserção escrita em dois modos, Outline e Inline.

Me corrijam se preciso.

 

Outline:

 

db.asp

<%
Sub AbreConexao()
strCon = "DBQ=" caminho_do_seu_banco.mdb ";DRIVER={Microsoft Access Driver (*.mdb)};"
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open strCon
End Sub

Sub FechaConexao()
Conexao.Close 
Set Conexao = Nothing 
End Sub

Sub ExecuteSQL(xstrSQL)
Conexao.Execute(xstrSQL)
End Sub
%>

inserir.asp

<%

Call AbreConexao()

titulo = Request.Form("titulo")
conteudo = Request.Form("conteudo")
data = Request.Form("data")
autor = Request.Form("autor")
publicado = Request.Form("publicado")

strSQL = "SELECT id		"&_
"FROM tbl_noticias		"&_
"WHERE titulo = '" & titulo & "';"
Set Rs = Conexao.Execute(strSQL)

Call ExecuteSQL("INSERT INTO tbl_noticias"&_
"(				"&_
"   titulo,		"&_
"	conteudo,	"&_
"	data,		"&_
"	autor,		"&_
"	publicado,	"&_
")		"&_
"VALUES("&_
"	'" & titulo & "',	"&_
"	'" & conteudo & "',	"&_
"	'" & data & "',		"&_
"	'" & autor & "',	"&_
"	" & publicado & ");	"&_
"	")

Call FechaConexao()

%>

---------------------------------------------------------------

 

InLine:

 

db.asp

<%
strCon = "DBQ=" caminho_do_seu_banco.mdb ";DRIVER={Microsoft Access Driver (*.mdb)};"
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open strCon
End Sub

Sub FechaConexao()
Conexao.Close 
Set Conexao = Nothing 
End Sub

Sub ExecuteSQL(xstrSQL)
Conexao.Execute(xstrSQL)
End Sub
%>

 

inserir.asp

<%
Sub AbreConexao()

titulo = Request.Form("titulo")
conteudo = Request.Form("conteudo")
data = Request.Form("data")
autor = Request.Form("autor")
publicado = Request.Form("publicado")

strSQL = "SELECT id FROM tbl_noticias WHERE titulo = '" & titulo & "';"
Set Rs = Conexao.Execute(strSQL)
Call ExecuteSQL("INSERT INTO tbl_noticias (titulo, conteudo, data, autor, publicado) VALUES('" & titulo & "', '" & conteudo & "', '" & datag & "', '" & autor & "', " & publicado & 
");")

Call FechaConexao()

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe uma logica para tabular? pois eu até hoje não sei como tabular... meus code sempre saem a esquerda justamente por eu não saber como arrumar isso.

 

alguém ae tem uma dica para eu saber como tabular? existe alguma regra?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

escrevo tabulados e inline!!!

 

esse outline seu foi brutal, hehe!

 

É, você entendeu. Eu quis dizer on line ou em linhas, como preferir.

Mas você que é um cara que saca bem de códigos em asp, poderia nos passar umas dicas de como fazer.

Ou você não presta essa assessoria em fóruns?

 

Abraço, particpe!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa questão de "formatação" não vai dar velocidade ao código, mas vai contribuir para organização, o que dará velocidade na manutenção do código.

 

Normalmente utilizo Capitalize e tabulado.

 

Sobre outline e inline, prefiro inline. Mas nem sempre é bom. Às vezes é interessante quebrar uma linha para melhor visualização do código. Supondo que seu INSERT tenha 20 campos. São 20 campos + 20 variáveis. Imagina isso em uma linha só e você tentando descobrir em qual campo tem que colocar ou retirar uma aspa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é dúvida, estamos ai rapa!! e entendi o lance do em linhas, hehe, não foi piada, se liga a dica que aprendi aqui mesmo!!

 

hoje em dia temos computadores que trabalham com grandes memórias e grandes processamentos, faça um código que você entenda e principalmente comentado, para que os outros possam também entender, não adianta você criar um código monstruoso que ninguém consiga adaptar.

 

se usar tabulado, é bom, fica bem visível, e bem organizado, o programador que ver entende logo: exemplo:

 

if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
	this._mouseStarted = (this._mouseStart(event) !== false);
	if (!this._mouseStarted) {
		event.preventDefault();
		return true;
	}
}

mais fácil do que isso:

if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {this._mouseStarted = (this._mouseStart(event) !== false);
if (!this._mouseStarted) {event.preventDefault();return true;}
}

deixando as coisas outline, qualquer programador, seja ele inline ou não, vai entender, agora uma inline, só aqueles programadores inline vão entender mais rápido, o outline vai ter que dar "ENTER" em seu codigo para entender, e o que você ganha com isso? Crítica, pois seu eu pegar um código seu inline irei te xingar todo, hehe!!

 

Use o tabulado, é bom!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cada caso é um caso. Eu não faria um If inline assim. rs

 

Inline utilizo apenas para SQL.

 

 

Patrique, para tabular você tem que manter o código dentro do inicio e fim das instruções. Exemplo criando uma função:

 

Function teste() 'inicio
	teste = "oi"
End Function 'fim

Veja que teste está tabulado dentro da função, por está dentro dela.

 

Agora vamos criar um If dentro da função:

 

Function teste(variavel) 'inicio
	If (variavel = True) Then 'inicio
		teste = "oi"
	Else 'como faz parte do primeiro If, é como se fosse o inicio dele, por isso segue a mesma tabulação
		teste = "Tchau"
	End If 'fim
End Function' fim

Criando um While dentro do If.

 

Function teste(variavel) 'inicio
	Dim contador
	If (variavel = True) Then 'inicio
		While (contador < 10) 'inicio
			variavel = variavel & contador
		Wend 'fim
		
		teste = variavel
	Else 
		teste = "Tchau"
	End If 'fim
End Function ' fim

 

Exemplo da mesma função escrita inline:

Function teste(variavel) : Dim contador : If (variavel = True) Then : While (contador < 10) : variavel = variavel & contador : Wend : teste = variavel  : Else : teste = "Tchau" : End If : End Function

Imagina a manutenção disso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente este inline ae é sinistro... mais eu faço tabulado mais sem os espaçamentos tipo

 

<%
If funcao = "0" then
response.write "patrique gostoso"
else
response.write "patrique é d+"
end if
%>

Ta vendo... eu não faço assim

 

<%
If funcao = "0" then
	response.write "patrique gostoso"
else
   response.write "patrique é d+"
end if
%>

vixiii... tenho que aprende muito ainda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ae, galera, bom eu sempre uso comandos Sql

Ucase,condições em Lcase,as variáveis,Lcase, com

um padrão de nomenclaturas, ou seja, sempre seguido de varstrnome_da_var

isso seguindo , abaixo:

 

Variáveis Texto: strNomeDaVariavel

Variáveis Numéricas: intNomeDaVariavel

Variáveis Data: dteNomeDaVariavel

Variáveis Flag: flgNomeDaVariavel

 

Dentre outras padronizações de nomenclatura de arquivos e diretórios.Variáveis sempre devem ser definidas com o menor escopo possível. Variáveis globais podem criar estado enormously complexo computadores e fazer a lógica de um aplicativo extremamente difícil de entender. As variáveis globais também tornar a reutilização e manutenção de seu codificar muito mais difícil.

 

existe um padrão de nomenclaturas oferecida pela Microsoft que está descrita no MSDN (Microsoft Developer Network).

 

 

Tipo de Variável Prefíxo Exemplo

Boolean bln blnFound

Byte byt bytRasterData

Date (Time) dtm dtmStart

Double dbl dblTolerance

Error err errOrderNum

Integer int intQuantity

Long lng lngDistance

Object obj objCurrent

Single sng sngAverage

String str strFirstName

TABELA VÁLIDA PARA VARIÁVEIS

 

 

Tipo de Objeto Prefíxo Exemplo

3D Panel pnl pnlGroup

Animated button ani aniMailBox

Check box chk chkReadOnly

Combobox,dropdown list box cbo cboEnglish

Command button cmd cmdExit

Common dialog dlg dlgFileOpen

Frame fra fraLanguage

Horizontal scroll bar hsb hsbVolume

Image img imgbotao

Label lbl lblHelpMessage

Line lin linVertical

List Box lst lstPolicyCodes

Spin spn spnPages

Text box txt txtLastName

Vertical scroll bar vsb vsbRate

Slider sld sldScale

TABELA VÁLIDA PARA OBJETOS

 

 

sempre escrevo meu código em blocos tabulados,Aninhamento bloco padrão, TAB-based, recuos devem ser duas a quatro espaços.Mais de quatro espaços é desnecessários e pode causar instruções para ser ocultos ou acidentalmente truncados. Menos de dois espaços não suficientemente aninhamento lógica apresentação. Na Microsoft Knowledge Base, usamos um três-recuar espaço. Use o diálogo Environment Options para definir a largura guia usar como padrão.

 

 

 

<%
	If meu_codigo = condicao Then
		Response.Write("conteúdo 1")
		Response.Write("Conteúdo 2")
	End If
%>

 

e uso sempre InLine, e lembrando, sempre bem comentado.

como tb tem objeto convenção de nomeação para objetos de banco de dados,Convenções de nomenclatura de menu,nomeação Variável de rotina,Nomeação constantes

Compartilhar este post


Link para o post
Compartilhar em outros sites

obviamente, quando você está na faculdade eles tem auxiliam a fazer padrões de linguagem!

boa a citação do Xan, antigamente eu tbm padronizava as coisas, mais era ruim para trabalhar em conjunto!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso aí xanburzum, essa é a participação que eu esperava neste tópico, bem interessante para nossa comunidade.

 

Valeu, um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tambem sempre buscar identar para facilitar a leitura do codigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.