• Viernes 8 de Noviembre de 2024, 15:38

Autor Tema:  Netoffice  (Leído 1860 veces)

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Netoffice
« en: Miércoles 17 de Enero de 2007, 15:09 »
0
Hola, hace mucho que no posteo en el foro, pero ví algo que realmente me llamó mucho la atención y no pude evitar postearlo...

Para los que no lo conocen, el netoffice es un software libre, desarrollado en PHP. Sirve para administrar proyectos, con sus incidencias (tareas), fechas de entrega, etc...


Lo que ví fue impresionante, el archivo library.php, que creo es el corazón del sistema tiene una función como esta:

Código: Text
  1.  
  2.  
  3. /**
  4.  * Count total results from a request
  5.  *
  6.  * @param string $tmpsql Sql query
  7.  * @access public
  8.  */
  9. function compt($tmpsql)
  10. {
  11.     global $tableCollab, $databaseType, $countEnregTotal, $comptRequest;
  12.  
  13.     $comptRequest += 1;
  14.  
  15.     if ($databaseType == 'mysql') {
  16.         $res = openDatabase();
  17.         $sql = $tmpsql;
  18.         $index = mysql_query($sql, $res);
  19.  
  20.         while ($row = mysql_fetch_row($index)) {
  21.             $countEnreg[] = ($row[0]);
  22.         }
  23.  
  24.         $countEnregTotal = count($countEnreg);
  25.         @mysql_free_result($index);
  26.         @mysql_close($res);
  27.     }
  28.  
  29.     return($countEnregTotal);
  30. }
  31.  
  32.  
  33.  



¿ A alguien se le ocurre alguna mejor forma de hacerlo ?...


En primer lugar, es una idiotez meter todas las filas de una consulta en un array para saber la cantidad... Sería más conveniente autoincrementar una variable numérica... Pero no olvidemos que la mayorías de las extensiones de bases de datos en php tienen funciones para contar la cantidad de registros devueltos por una consulta...

Otra cosa que veo es que cierra el recurso al salir de la función.... Más sobrecarga en vano... Las variables globales para qué están? La función devuelve la cantidad de registros de una consulta... ¿porqué devolver el valor y ponerlo en una variable global al mismo tiempo?


En fin.... Esto es lo que se encuentra en un software de calidad.... Pero quién sabe lo que significa calidad?
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Netoffice
« Respuesta #1 en: Miércoles 17 de Enero de 2007, 16:36 »
0
Respecto a tu pregunta de "alguien sabe que es la calidad?" te respondo que alguien muy famoso e inteligente dijo "Todo es relativo"  :P
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Netoffice
« Respuesta #2 en: Miércoles 17 de Enero de 2007, 21:24 »
0
jajajajaja


cierto



Admirable !
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Netoffice
« Respuesta #3 en: Jueves 18 de Enero de 2007, 23:38 »
0
Respondiendo a tu otra pregunta.... Lo mejor (a mi parecer) es dejar que MySQL se encargue de esas cosas.

Y motivos hay de sobra, principalmente porque ese script lleva muchísimo tiempo más en procesarse que un simple COUNT() en la consulta. Te puedo asegurar que si trabajas con tablas grandes, te  darás cuenta de la diferencia. Incluso usar la clásica función mysql_numrows() puede llegar a ser perjudicial, a tal punto de colgar el MySQL.


Saludos.
Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Netoffice
« Respuesta #4 en: Viernes 19 de Enero de 2007, 13:30 »
0
Tené en cuenta los distintos tipos de motores....

MyISAM (por ejemplo) mantiene un registro con la cantidad de filas en la tabla, por lo tanto hacer un COUNT() de todos los registros de una tabla MyISAM es una cosa practicamente instantánea...


Ahora... con tablas transaccionales como INNODB la cosa es diferente, dado a que admite transacciones, debe contar los registros uno por uno, ya que al mismo tiempo que está haciendo esa consulta se pueden estar grabando o cancelando transacciones.... En este tipo de tablas es más lento.....


Pero de todas formas, es más rápido hacer con el motor de bases de datos que con el lenguaje interpretado (PHP) al conteo de registros.

saludos
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Netoffice
« Respuesta #5 en: Viernes 19 de Enero de 2007, 14:48 »
0
Cita de: "gnfrs"
En fin.... Esto es lo que se encuentra en un software de calidad.... Pero quién sabe lo que significa calidad?
Buenas...

Según la RAE calidad es entre otras definiciones:
Citar
calidad1.
   (Del lat. qualĭtas, -ātis, y este calco del gr. ποιότης).
   1. f. Propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su valor. Esta tela es de buena calidad.
   2. f. Buena calidad, superioridad o excelencia. La calidad del vino de Jerez ha conquistado los mercados.
   3. f. Carácter, genio, índole.
   4. f. Condición o requisito que se pone en un contrato.
   5. f. Estado de una persona, naturaleza, edad y demás circunstancias y condiciones que se requieren para un cargo o dignidad.
   6. f. Nobleza del linaje.
   7. f. Importancia o gravedad de algo.
   8. f. pl. Prendas personales.
   9. f. pl. Condiciones que se ponen en algunos juegos de naipes.


En este caso, la calidad de un producto o servicio puede definirse como:

Desde el cliente (El punto de vista más importante):
1- La percepción que el cliente tiene del mismo.
2- La medida de conformidad del cliente.
3- Un producto o servicio de Calidad, es aquel que cumple las expectativas del cliente y que satisface sus necesidades en una adecuada relación costo/beneficio
.
.
.
Pero luego existen otros puntos de vista:
El técnico, el operativo, etc, etc.

De todo esto surge el concepto de Calidad total:
Citar
Conjunto de condiciones que permiten asegurar la mejora continua de los procedimientos, procesos, actividades y manejo de recursos públicos por las dependencias y entidades del sector público presupuestario, con la finalidad de controlar, prevenir y eliminar cualquier tipo de deficiencia en la presentación o producción de los bienes y servicios que dan a sus clientes o usuarios, con el propósito de proporcionar la máxima satisfacción con la mayor eficacia y eficiencia.

En fin, lo que yo creo es que el concepto de calidad nunca va a dejarnos a todos conformes.

Es difícil ponerse de acuerdo si algo es de calidad o no, pero en este caso puntual no creo que sea tan difícil hacerlo.

Ese código NO ES DE CALIDAD  :devil:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.