Documentação Função Atribuir
Função atribuir sob o ponto de vista de quem usa e de quem constroi
1
. Problema resolvido para quem usa, para quem constroe e para o dono (owner)
Comum a quem usa e constroi
(o que)
requisitos da função - o que a função é capaz de fazer, exemplo e teste de aceitação
parametros - informações que são passadas para a função e retornadas pela função
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
2
. Requisitos da função
Deve ser capaz de atribuir um valor a elementos de um conjunto na visualização de uma pagina qualquer do apoie.org.
Exemplo:
Não mostrar na pagina apoie.org o indice
valor= falso elementos=indice conjunto=expandir
Teste de aceitação
:
http://apoie.org#atribuir(false, 'Expandir', ' indice ');
3
. Parametros
O que
O que será atribuido ao elemento de um conjunto Ex.: false ou true
Conjunto
Ação sobre o conjunto Ex.: 'Expandir'
Elementos
Nome do elemento de um conjunto Ex.: 'indice'
4
. Function atribuir
function atribuir (valor, conjunto, elementos)
//atribui um valor a elementos de um conjunto
{var re, str;
re = /\s*(\w+)\s+(\w+)/; //
move conteudo dos parametros para re
str = elementos, id = '';
while (re.test(str)) str = str.replace(re, "$1,$2"); //
processa todos ?????
str = str.replace(/\s*/g, "");
if (str === '') return; //
retorna ???? quando ????
array = str.split(",");
for (id in array) eval(conjunto +"['" + array[id] + "'] = " + valor);}
5
. Relacionamentos com outras funções
6
. Teste unitário da função
Teste funcional
http://apoie.org#atribuir(false, 'Expandir', ' indice ');
Teste de documentação
http://apoie.org/FuncaoConfigurar.js
=> atribuir
TDD
testador de expressão regular
expressão regular => \s*(\w+)\s+(\w+)/
texto a pesquisar => false, 'Expandir', ' indice '
testador =>
http://www.fflch.usp.br/dl/li/x/?p=612
resultado => false, 'Expandir', ' indice '
7
. Teste integrado da função
http://apoie.org
8
. 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;}
link Arquivo origem:
WFuncAtribuir1.xml
. Email Sugestão WD9 que substitui WD8
Documentação Função Atribuir {8}
Problema resolvido para quem usa, para quem constroe e para o dono (owner)
Requisitos da função
Parametros
Function atribuir
Relacionamentos com outras funções
Teste unitário da função
Teste integrado da função
Teste Usabilidade
Índice Local {9}
Projeto Apoie {6}
Projeto Apoie
Projeto PAS Produzir + Aprender + Simplificar
Serviço Web
Relacionamentos entre Personagens
Base de Conhecimento {5}
Conhecimento
Dado
Informação consolidada
Página Pronta - site apoie.org
Pulo do Gato
Contato Projeto Apoie
Linguagem
{5}
Javascript {3}
Referências e Ferramentas
Sintaxe
Cheat Sheet
Erlang Quick Sort
LDC {2}
LDC
LDC - Sintaxe
Definição {9}
Erlang
Python 3.0
Ruby 1.9.1 - Sintaxe
Ruby 1.9.1 - Léxico
Shell
Lua
PHP
XML
Lazy BNF
If
Dojo {4}
Coding Dojo
Coding Dojo - Formatos
Soluções Coding Dojo {6}
Dojo #34: Expressão Aritmética
Dojo #33: Impedimento
Dojo #32: Sequência Numérica
Dojo #31: Tráfego
Dojo #29: Boliche
Dojo #28: Jogo da Vida
Dojo Rio
Qualidade {2}
5W {3}
5W2H
5W1H
5W2H - 5W1H - Modelo
PDCA
Componente {5}
Componente
ExibirLinguagem.htm
Gerar Páginas
Lista
Tabela de Decisões
Paletas {10}
Paleta - Mais utilizadas
Paleta - Apoie
Paleta - Apresentação e Componentes
Paleta - Diagramas
Paleta - Diagrama Sintático
Paleta - Dojo
Paleta - Logos
Paleta - Projetos
Paleta - Setas
Paleta - Tecnologia
Evento {4}
Pendência
Estados de Componentes
Scrum
Prioridade
Método {5}
Oficina
Serviço Web
Warnier/Orr Basics
Apresentar Problema Resolvido
Simples x Complexo
Imposto de Renda