Jump to content

Ajuda em libraria pessoal...


gambas
 Share

Recommended Posts

Boas malta...

Tou a criar uma pequena 'libraria', para trabalhar com ajax... e os meus conhecimentos não são nada por aí alem, apesar de por agora tar a conseguir fazer qualquer coisita...

Para já o codigo da libraria:{lib.js}

var JSCM = function(){

$ = this;

$.setEventToID = function(element,type,fn){
	element = document.getElementById('teste');
	element.addEventListener(type,fn,false);
}
$.dropEventFromID = function(element,type,fn){
	element = document.getElementById('teste');
	element.removeEventListener(type,fn,false);
}
$.HTTPObject = function(){
	var xhr = false;
	if(window.XMLHttpRequest){
		xhr = new XMLHttpRequest();
	} else if (window.ActiveXObject){
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xhr = false;
			}
		}
	}
	return xhr;
}
$.processRequest = function(request,fn){
	if(request){
		request.onreadystatechange = function(){
			if(request.readyState == 4){
				if(request.status == 200 || request.status == 304){
					fn(request.responseText);
				}
			}
		};
		request.open("GET","test.txt",true);
		request.send(null);
	}
}
}

E tenho o meu ficheiro html (não tem estrutura, é so msm para teste!):

<script type="text/javascript" src="lib.js"></script>
<script type="text/javascript">
window.onload = function(){
$ = new JSCM();

var t = function(){
	$.processRequest(new $.HTTPObject(),function(response){
			alert(response);
	});
}
$.setEventToID('teste','click',t);



}
</script>
<div id="teste" style="width:200px;height:200px;background-color:red"></div>

Gostava que me apontassem se a nivel de sintaxe, declaraçoes de variaveis e/ou funcoes ha algo de errado?

Sei pouco de javascript, apenas trabalho com jquery, mas com isso vou 'desaprendendo' js.

Link to comment
Share on other sites

gambas, posso já indicar-te que falta algo crítico: documentação.

Quanto ao resto, basta procurares pelo guia de estilo ou coding standard e seguir a coisa.

PS: "libraria" não existe, o termo correcto em português é biblioteca.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Documentação não é necessário visto que vai ser para eu usar, e alem do mais em termos de tamanho nao vai ser grande coisa,

Vais-me desculpar mas não há desculpa absolutamente nenhuma para não escreveres documentação.

Responde-me só a esta pergunta: tu lembras-te de todo o código não documentado que escreveste à dois anos atrás?

Mais, achas que quem te vai ajudar não merece um mínimo de documentação para compreender a semântica de uma função?

Vou assumir que és inexperiente nestas andanças e ignorar a tua resposta quanto à falta de documentação...

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Não fiquei ofendido (já não tenho idade para isso 😞).

Mas custa-me sempre ver trabalho mal feito, é só isso...

(E sim, 40 linhas de código não documentadas é coisa que não existe com quem trabalha comigo...)

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

wow calma! ofendi-te? desculpa la pa!...

o que quero dizer é que isto vai ser usado a nivel pessoal, e não vai ser muito extenso daí nao necessitar de documentação.

e pelo que estou a ver, tu és 'experiente' e ficas tao alarmado quanto à falta de documentação em umas 40 linhas de código?

Devias ter mais calma, ele pode ter falado de uma forma mais bruta, mas é para tu, ou quem quer que esteja a ler isto perceba que abrir os olhos não faz mal.

E se não fazes documentação para ti, um dia que tiveres de fazer para alguém nem sabes por onde começar...

Melhores cumprimentos,

João Lopes

Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico***

Link to comment
Share on other sites

Amigo,

Eu vim pedir uma opinião a qualquer um que a quisesse dar...

E eu nem levei a mal, senão nem teria colocado a questão.

Vou assumir que és inexperiente nestas andanças e ignorar a tua resposta quanto à falta de documentação...

Acho que pelo facto de a pessoa em questão ser 'experiente' não lhe dá o direito de ignorar a resposta, e tudo o que não seja do seu agrado está mal.

A meu ver experiência não traz razão.

E se quisesse ignorar a resposta, teria poupado o trabalho de me responder.

Seja como for, tudo o que é aqui dito eu levo em consideração, pelo facto de que posso aprender sempre qualquer coisa, portanto se pretendem acrescentar mais alguma coisa a minha pergunta inicial ficava agradecido, caso contrário não acho que seja necessário falarmos de outros assuntos, não é para isso que viemos aqui.

Link to comment
Share on other sites

Meus caros,

acho que se está a fazer uma pequena tempestade num copo de água.

Efectivamente vim aqui com o intuito de ajudar, creio que isso ficou claro quando referi que há coding standards que se podem seguir no que toca a sintaxe de afins.

Quanto ao código, como me parece compreensível, não me ia deitar a adivinhar o que é que o mesmo deveria fazer versus o que fazia de facto. Ora, sem documentação teria mesmo de adivinhar, e dado que programar não é um acto de adivinhação nem de magia (embora haja muito gestor de projecto que ache que sim 😉), fiz o reparo da documentação.

Quanto à inexperiência, efectivamente ela é visível tanto na falta de documentação como na questão dos coding standards.

No entanto isto não tinha qualquer ponta de ofensa, ninguém nasce ensinado e todos quantos andam aqui com experiência já cometeram o erro de escrever código e borrifar-se na documentação (para mal dos seus pecados quando algum tempo mais tarde tivemos de voltar a usar esse código).

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Ok, então voltando de nucleo da questão...

Quando falas em documentação dizes por exemplo ter um ficheiro devidamente comentado para que quem pegue nele saiba o procedimento do codigo passo a passo, certo?

E também por exemplo um guia em html (ou qualquer outro formato), que explique o codigo, variaveis chave, argumentos das funções (etc, etc)?

É essa a ideia que tenho de documentação!

Ou estarás a falar de algo que eu ainda não percebi?

Link to comment
Share on other sites

Ok, então voltando de nucleo da questão...

Quando falas em documentação dizes por exemplo ter um ficheiro devidamente comentado para que quem pegue nele saiba o procedimento do codigo passo a passo, certo?

E também por exemplo um guia em html (ou qualquer outro formato), que explique o codigo, variaveis chave, argumentos das funções (etc, etc)?

Sim.

Mas tipicamente isso obtem-se a partir do código de forma automática desde que o código esteja documentado.

Por exemplo, se documentares todas as tuas funções/métodos com a sua descrição e descrição dos parâmetros e retorno, há ferramentas que depois te fazem a geração automática desses documentos.

Muitas vezes esses documentos são descartáveis uma vez que há acesso directo ao código e podes ler essa informação logo dentro do IDE.

É essa a ideia que tenho de documentação!

Ou estarás a falar de algo que eu ainda não percebi?

Essa é documentação técnica, que neste caso é o que me estou a referir.

No entanto tens outros tipos de documentação, por exemplo, funcional onde se descrevem as funcionalidades de um sistema.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.