Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Clean Code Javascript

$
0
0

Pessoal estou lendo aquele livro clean code e me deparei com um problemas, mas em javascript, segue codigo para entendimento

 function iniciarValidadoresTextArea() {

                 if ($("#form\\:corpo-email-venda-gerencial").val() !== undefined) {
                    limitaTextareaCorpoEmailVendaGerencial($("#form\\:corpo-email-venda-gerencial").val());
                }

                if ($("#form\\:corpo-email-nota-gerencial").val() !== undefined) {
                    limitaTextareaCorpoEmailNotaGerencial($("#form\\:corpo-email-nota-gerencial").val());
                }

                if ($("#form\\:corpo-email-nota-fiscal").val() !== undefined) {
                    limitaTextareaCorpoEmailNotaFiscal($("#form\\:corpo-email-nota-fiscal").val());
                }
}

Eu sei que tem como fazer apenas um IF e passar o nome, eu tentei desta forma:

 

Com dois arrays: 

               var camposTextArea = ["#form\\:corpo-email-venda-gerencial", "#form\\:corpo-email-nota-gerencial", "#form\\:corpo-email-nota-fiscal", "#form\\:corpo-email", "#form\\:corpo-email-consignacao", "#form\\:corpo-email-pedido-venda", "#form\\:corpo-email-orcamento", "#form\\:corpo-email-cancelamento", "#form\\:corpo-email-financeiro-recibo"];
                var metodosTextArea = ["limitaTextareaCorpoEmailVendaGerencial", "limitaTextareaCorpoEmailNotaGerencial", "limitaTextareaCorpoEmailNotaFiscal", "limitaTextareaEmail", "limitaTextareaEmailConsignacao", "limitaTextareaEmailPedidoVenda", "limitaTextareaEmailOrcamento", "limitaTextareaEmailCancelamento", "limitaTextareaEmailFinanceiroRecibo"];

for (var chave = 0, valor; valor = camposTextArea[chave], chave < camposTextArea.length; chave++) {
                    nomeMetodo = metodosTextArea[chave];
                    nomeMetodo = nomeMetodo.replace('"', "");
                    if ($(valor).val() !== undefined) {
                        nomeMetodo($(valor).val());
                    }
                    console.log(chave, valor, nomeMetodo); // chave é o índice, valor é o valor
                    
                }

Mas sei que a linguagem nao permite isso, o que sugeriam, até mesmo os metodos gostaria de dar um CLEAN, segue

function limitaTextareaCorpoEmailVendaGerencial(valor) {
                var quantidade = 700;
                var total = valor.length;

                if (total <= quantidade) {
                    resto = quantidade - total;
                    document.getElementById('corpo-email-venda-gerencial-span').innerHTML = resto;
                } else {
                    document.getElementById('form:corpo-email-venda-gerencial').value = valor.substr(0, quantidade);
                }
            }

            function limitaTextareaCorpoEmailNotaGerencial(valor) {
                var quantidade = 700;
                var total = valor.length;

                if (total <= quantidade) {
                    resto = quantidade - total;
                    document.getElementById('corpo-email-nota-gerencial-span').innerHTML = resto;
                } else {
                    document.getElementById('form:corpo-email-nota-gerencial').value = valor.substr(0, quantidade);
                }
            }

entro na mesma questão, sei que tem como, mas por não conseguir ver a solução gostaria que se possivel me ajudassem, grato.

 


Viewing all articles
Browse latest Browse all 14190

Trending Articles