Postagem

Aqui é onde faço postagens de coisas que acho interessante.

Status de uma classe

Postagem do dia 01/01/1970 na categoria Javascript



Muitos programadores criam classes que possuem muitos métodos, classes que implementam outras classes e quando aparece algum erro, torna-se difícil saber o que realmente está acontecendo.

A maioria dos programadores ficam atentos ao que aparece na tela, olha a linha do erro para comeà§ar a debugar o código.

Vou dar uma dica simples: Toda vez que criar uma classe, criar uma variável para receber o “status” da aplicação…

Para cada trecho crítico e método executado, irei atualizar esse status, setando mensagem de sucesso ou erro.


/**
 * Classe para manipulacao de dada
 *  
 * @author: Tayron Miranda 
 * @since:  10/04/2012 13:42
 */
function DateManipulation(){

	this.id		 = ''; 						// Id do elemento que recebera um valor
	this.date	 = new Date();				// Instancia do objeto Date
	this.day	 = this.date.getDate();		// Pegando o dia
	this.month	 = this.date.getMonth();	// Pegnado o mes
	this.year	 = this.date.getFullYear();	// Pegando o ano
	this.message = '';						// Armazena mensagem de status

	/**
	 * Metodo que seta id do elemento
	 * @return: {boolean} True or False
	 * @author: Tayron Miranda 
	 * @since: 10/04/2012 10:49
	 */
	function setIdElement( id )
	{
		if( id != null ){
			this.id = id;
			this.message = 'Id do elemento setada com sucesso';
			return true;
		}else{
			this.message = 'Não foi passado id do elemento';
			return false;
		}
	}

	/**
	 * Metodo que altera a data do calendario
	 * @return: {boolean} True or False
	 * @author: Tayron Miranda 
	 * @since: 10/04/2012 10:49
	 */
	this.updateDate = function(year, month, day)
	{
		this.checkDate.setFullYear( year, month, day );	//checkDate.setFullYear( 2100,0,14 );
		this.day	 = this.date.getDate();		// Pegando o dia
		this.month	 = this.date.getMonth();		// Pegnado o mes
		this.year	 = this.date.getFullYear();	// Pegando o ano
		this.message = 'Data atualizada';
		return true;
	} 

	/**
	 * Metodo que verifica a data de vencimento eh menor que a data atual
	 * @return: {boiolean} True caso a data nao esteja vencida e False para caso a data ja tenha passado
	 * @author: Tayron Miranda 
	 * @since: 10/04/2012 10:49
	 */
	this.checkExpirationDate = function(year, month, day)
	{
		// Setando data comparacao
		this.updateDate(year, month, day);

		//Pegando a data atual
		var today = new Date();

		if( this.date > today){		
			return true //Today is before 25th January 2000
			this.message = 'A data informada é menos que a data atual';
		}else{
			this.message = 'A data informada é maior que a data atual';
			return false //"Today is after 25th January 2000"	  
		}	
	}

	/**
	 * Metodo que seta a data atual dentro de um elemento informado
	 * @return: {boolean} True or False
	 * @author: Tayron Miranda 
	 * @since: 10/04/2012 10:23
	 */
	this.setDate = function()
	{
		// Concatenando 0 com os numeros de 0 à  9
		if( this.month.length == 1 ){ this.month = '0' + this.month; }

		// Montando e setando a data no elemento informado
		document.getElementById( this.id ).value = this.day + '/' + this.month + '/' + this.year;

		this.message = 'A data foi setada no elemento de id ' + this.id;
		return true;
	}
}



A classe acima possui um atributo chamado “message” que receberá o status da aplicação, ou seja, sempre que algo acontecer, esse status será atualizado…



Deixe seus comentários abaixo: