JavaFX e o tratamento de null

Null refere-se a nada, um referência que não referência nada e ninguém…

Em Java se você acessa um ponto nulo, você ganha uma exceção, a Famosa NullPointerException. Isso é perfeito! Nunca teremos o problema de acessar coisas que não devíamos… Mas o problemas são métodos que retornam null onde não deveriam, isso gera uma dor de cabeça e um código futuro cheio de problemas!

Em JavaFX é null é muitas vezes ignorados, pois o null representa um elemento não inicializado. Olhe abaixo meus testes sobre isso e as sequences(pois em Java os problemas com null são bastante frequentes com Collections, exemplo um método dao getClients que retorna nulo quando não temos resultados…):

import javafx.scene.*;

var nums:Integer[];
var nodes:Node[];

function getNums():Integer[]{null}

function getNodes():Node[]{null}

/*
Integer Test
*/
nums = getNums();
//Não lança null pointer exception
println("{nums[0]}");
//Não lança null pointer exception
println("{sizeof nums}");
//Não lança null pointer exception
insert 10 into nums; insert 20 into nums; nums[2] = 30;

//Não lança null pointer exception
println("{for(num in nums) "{num} "}");

/*
Nodes test
*/
nodes = getNodes();
//Não lança null pointer exception
println("{nodes[0]}");
//Não lança null pointer exception
nodes[0].visible = false;
//Isso vai sobreescrever os atributos anteriores de node[0]  para os atributos de incialização de um Group(sub de Node)
nodes[0] = Group{};
println("{for(node in nodes) "{node.visible} "}");

É óbvio que isso também traz problemas, como lugares que deveriam apresentar problemas, mas não apresentam gerando bugs ainda mais cabeludos, no entanto, JavaFX tem um foco sobre a view, ou seja, não precisa ser tão “verbosa”, detalhista como acontece na programação server side(IMHO).
Fica ae a dica, mais sobre JavaFX e null você pode ler na documentação oficial do próprio JavaFX, só googlar que você acha coisas interessantes.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: