Foros del Web » Programando para Internet » Javascript »

Simplificar Codigo de Proyecto

Estas en el tema de Simplificar Codigo de Proyecto en el foro de Javascript en Foros del Web. Saludos chicos, he estado trabajando en un proyecto de digitalizacion de un manual para fabricar productos de limpieza, lo estoy haciendo en HTML y JS ...
  #1 (permalink)  
Antiguo 25/02/2017, 23:33
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Ubicación: Maracay edo Aragua Venezuela
Mensajes: 48
Antigüedad: 15 años, 7 meses
Puntos: 3
Pregunta Simplificar Codigo de Proyecto

Saludos chicos, he estado trabajando en un proyecto de digitalizacion de un manual para fabricar productos de limpieza, lo estoy haciendo en HTML y JS y me gustaria compartir con ustedes parte de mi codigo JS a ver si existe alguna forma de simplificar y no repetir tanto codigo en lo que estoy escribiendo.
Basicamente se recoje un dato de un formulario y da un resultado segun el dato del input

Código HTML:
Ver original
  1. var ml=" Mililitros";
  2. var l=" Litros";
  3. var g=" Gramos";
  4. var mg=" Miligramos";
  5. var k=" Kilogramos";
  6.  
  7. function cloro() {
  8. var UI=document.getElementById('entradaCloro').value;
  9. if(isNaN(UI)){return false;}
  10. var agu = UI*80/100;
  11. var hip = UI*20/100;
  12. var fos = UI*0.25/100;
  13. var car = UI*0.25/100;
  14. var per = UI*0.30/100;
  15. if (UI<=1){
  16. agu = agu*1000 + ml;
  17. hip = hip*1000 + ml;
  18. fos = fos*1000 + g;
  19. car = car*1000 + g;
  20. per = per*1000 + ml;
  21. }
  22. else{
  23. agu= agu + l;
  24. hip= hip + l;
  25. if (fos*1000>=1000){fos = fos + k;}else{fos=fos*1000+g;}
  26. if (car*1000>=1000){car = car + k;}else{car=car*1000+g;}
  27. if (per*1000>=1000){per = per + l;}else{per=per*1000+ml;}
  28. }
  29. var resul =
  30. "1.- Agua - H2O" + " = "+agu+"<br>"+
  31. "2.- Hipoclorito - ClO" + " = "+hip+"<br>"+
  32. "3.- Fosfato Trisodico" + " = "+fos+"<br>"+
  33. "4.- Carbonato ASH" + " = "+car+"<br>"+
  34. "5.- Perfume Hiposodico" + " = "+per+"<br>";
  35. document.getElementById('salida').innerHTML=resul;
  36. }
  37.  
  38. function detergente() {
  39. var UI=document.getElementById('entradaDetergenteRopa').value;
  40. if(isNaN(UI)){return false;}
  41. var tex = UI*14.1/100;
  42. var pas = UI*0.75/100;
  43. var ash = UI*0.2/100;
  44. var sal = UI*3/100;
  45. var agu = UI*82/100;
  46. var col = UI*0.2/100;
  47. var fra = "Al Gusto";
  48. var form = UI*0.2/100;
  49. if (UI<=1){
  50. tex = tex*1000 + " ml";
  51. pas = pas*1000 + " ml";
  52. ash= ash*1000 + " ml";
  53. sal= sal*1000 + " gr";
  54. agu= agu*1000 + " ml";
  55. col= col*1000 + " gr";
  56. form= form*1000 + " gr";
  57. }
  58. else{
  59. tex = tex + " Litros";
  60. pas = pas + " Litros";
  61. ash = ash + " Kilos";
  62. }
  63. var resul =
  64. "1.- Texapon" + " = "+tex+"<br>"+
  65. "2.- Pasta Sulfonica" + " = "+pas+"<br>"+
  66. "3.- Soda ASH Light" + " = "+ash+"<br>"+
  67. "4.- Sal" + " = "+sal+"<br>"+
  68. "5.- Agua - H2O" + " = "+agu+"<br>"+
  69. "6.- Color" + " = "+col+"<br>"+
  70. "7.- Fragancia" + " = "+fra+"<br>"+
  71. "8.- Formol o Benzoato de Sodio" + " = "+form+"<br>";
  72. document.getElementById('salida').innerHTML=resul;
  73. }
  74.  
  75. function desinfectantePisos() {
  76. var UI=document.getElementById('entradaDesinfectantePisos').value;
  77. if(isNaN(UI)){return false;}
  78. var agu = UI*80/100;
  79. var hip = UI*20/100;
  80. var fos = UI*0.25/100;
  81. var car = UI*0.25/100;
  82. var per = UI*0.30/100;
  83. if (UI<=1){
  84. agu = agu*1000 + ml;
  85. hip = hip*1000 + ml;
  86. fos = fos*1000 + g;
  87. car = car*1000 + g;
  88. per = per*1000 + ml;
  89. }
  90. else{
  91. agu= agu + l;
  92. hip= hip + l;
  93. if (fos*1000>=1000){fos = fos + k;}else{fos=fos*1000+g;}
  94. if (car*1000>=1000){car = car + k;}else{car=car*1000+g;}
  95. if (per*1000>=1000){per = per + l;}else{per=per*1000+ml;}
  96. }
  97. var resul =
  98. "1.- Agua - H2O" + " = "+agu+"<br>"+
  99. "2.- Hipoclorito - ClO" + " = "+hip+"<br>"+
  100. "3.- Fosfato Trisodico" + " = "+fos+"<br>"+
  101. "4.- Carbonato ASH" + " = "+car+"<br>"+
  102. "5.- Perfume Hiposodico" + " = "+per+"<br>";
  103. document.getElementById('salida').innerHTML=resul;
  104. }
  105.  
  106.  
  107.  
  108. function entrada(){
  109. if(UI=document.getElementById('entradaDetergenteRopa')){detergente();}
  110. else if(UI=document.getElementById('entradaCloro')) {cloro();}
  111. else if(UI=document.getElementById('entradaDesinfectantePisos')) {desinfectantePisos();}
  112. }
  113.  
  114.  
  115. function validarSiNumero(UI){
  116.     if (!/^([0.1-9])*$/.test(UI)){
  117.     //alert("El valor  " + UI + " no es un número valido, intente utilizar numeros desde 0.1 hasta la cantidad de litros que usted desee fabricar");
  118. var alerta = "EL VALOR INDICADO: <b>" + UI + "</b> NO ES UN NUMERO VALIDO<br> INTENTE UTILIZAR NUMEROS DESDE 0.1 HASTA LA CANTIDAD DE PRODUCTO QUE USTED DESEE FABRICAR";
  119.     document.getElementById('salida').innerHTML=
  120. alerta;
  121. }
  122. else if (UI==""){
  123. var nada = "NO HA ESCRITO NADA INTENTE UTILIZAR NUMEROS DESDE 0.1 HASTA LA CANTIDAD DE PRODUCTO QUE USTED DESEE FABRICAR";
  124. document.getElementById('salida').innerHTML=
  125. nada;}
  126. else { entrada();
  127. }}
  #2 (permalink)  
Antiguo 12/03/2017, 09:25
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Simplificar Codigo de Proyecto

Bueno, lo unico que veo que puedas simplificar es cuando haces la operación matematica de "agu", "hip" y todas esas creando una función por cada tipo de operación que vas a hacer. Solo debes de pasarle los parametros necesarios pero igual forma tendrás las mismas lineas de codigo.

Etiquetas: ciclos, entradas, salidas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:03.