O que a função faz (owner)
Deve ser capaz de atribuir um
valor a elementos de um conjunto na visualização de uma pagina qualquer
do apoie.org.
Parametros: informações que são
passadas para a função e retornadas pela função
- Entrada: informações que são passadas para a função
Valor: o que será atribuido ao elemento de um conjunto Ex.: 5, 'Maria', false, true .... etc
Conjunto: nome do conjunto Ex.: 'Expandir', 'Doc' .... etc
Elementos: id de elementos do conjunto Ex.: 'indice', ' Lead IndTopico ' .... etc
- Saída:
- não retorna nenhum valor em qual caso ?????
- executa "conjunto.id = valor;" para cada elemento
Exemplo: Não mostrar na pagina
apoie.org o indice do dominio da pagina3
valor= falso elementos=indice conjunto=expandir
Teste de aceitação: http://apoie.org#atribuir(false, 'Expandir', ' indice
')
Relacionamentos com outras funções

Tipos de usuario externo
- Quem usa (como)
- teste de usabilidade
- teste de documentação
- Quem constroe (como)
- código da função
- relacionamento com outras funções - ambiente em que será
inserida a função
- efeito colateral - como contornar a mudança de estado no
programa
- teste unitário da função
- teste integrado da função
- Quem é o dono (porque,
quando e onde)
- necessidade - origem da solução
Function atribuir em ação
<html>
<head>
<script><head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title></title>
<script type="text/javascript">
function str2array (str) // converter lista em string para array
{if (typeof str == 'string') {
var re = /\s*(\w+)\s+(\w+)/;
while (re.test(str)) str = str.replace(re, "$1,$2");
str = str.replace(/\s*/g, "");
if (str === '') return;
str = str.split(",");}
return str;}
function atribuir (valor, conjunto, elementos) // atribui um valor a elementos de um conjunto
{
var array = str2array(elementos); // converte para array se for string
alert("..2.elementos");
for (var id in array) // para cada elemento do conjunto
eval(conjunto +"['" + array[id] + "'] = " + valor);
}// conjunto.id = valor;
</script>
</head>
<body>
<script type="text/javascript">
//escrever no browse o resultado da função atribuir para valor=false; conjunto='Chave'; elementos=' indice geral ';
var valor=false;
var conjunto='Chave';
var elementos=' indice geral ';
var id=1;
alert("..1
");alert(id);alert("..valor=
");alert(valor);alert("..conjunto
");alert(conjunto);alert("..elementos= ");alert(elementos);
var resultado=atribuir (valor, conjunto, elementos);
alert("..3.resultado");
alert("..4
");alert(id);alert("..valor=
");alert(valor);alert("..conjunto
");alert(conjunto);alert("..elementos= ");alert(elementos);
</script>
</body>
Teste unitario do codigo
Copiar o codigo abaixo para o endereço http://www.w3schools.com/js/tryit.asp?filename=tryjs_function_return
ou http://apoie.org/PAI.html#entra('JanelaEdicao');
Teste unitário da função
- Teste funcional
- Teste de documentação
- TDD
- testador de expressão regular
Teste integrado da função
Teste Usabilidade
- Na Url
http://apoie.org#atribuir(false, 'Expandir', ' indice
');
http://apoie.org/Scrum.html#Preparar.geral="Chave.documentacao=true;";Acabar.geral="atribuir(false,
'Chave', ' documentacao moldura ');";
- Dentro de outra função
function Inic(xml) {
try
{atribuir(false, 'Chave', ChaveApag);} catch (err5) { }
try
{atribuir(false, 'Expandir', ExpandirApag);} catch (err7) { }
if (xml !== '') Iniciar(xml);
if (PrimeiraVez++ === 0) {
try
{eval(window.location.hash.substr(1));}
catch (err34){} }
document.getElementsByTagName('body')[0].style.display= 'block';
F5('Inic'); }
function FiltroNaUrl(fim)
{ var id, aux, Lig,
Apag, txt;
aux = Lig = Apag = txt = '';
for (id in Chave) {
if (pertence(id, ChaveApag)) {if
(ver(id)) Lig += ' ' + id;}
else if (!ver(id)) Apag += ' ' +
id;}
if (Lig !== '') txt += "atribuir(true, 'Chave', '" +
Lig + " ');" + fim;
if (Apag !== '') txt += "atribuir(false, 'Chave', '"
+ Apag + " ');" + fim;
Lig = Apag = '';
for (id in Expandir) {
if (pertence(id, ExpandirApag)) {
if
(verDet(id)) Lig += ' ' + id;}
else if (!verDet(id)) Apag += ' '
+ id;}
if (Lig !== '') txt
+= "atribuir(true, 'Expandir', '" + Lig + " ');" + fim;
if (Apag !==
'') txt += "atribuir(false, 'Expandir', '" + Apag + " ');" + fim;
return txt;}
- Inserindo codigo pela janela de codigo
Copiar o codigo atribuir(false, 'Expandir', ' indice ');
para a janela em
http://apoie.net.br/desenvolvimento/WFuncAtribuir.html#atribuir(true,
'Chave', ' editarCodigo ');atribuir(false, 'Chave', ' Corpo
');atribuir(false, 'Chave', ' rodape');
Com isto o indice irá desaparecer.