A partir de ahora, el servicio gmane.org se une al de googlegroups
para dar acceso a la lista python-es@python.org y dar soporte de
búsquedas.
Podéis acceder a través de la siguiente dirección:
http://dir.gmane.org/gmane.comp.python.general.hispano
o con un lector de news (nntp) desde:
nntp://news.gmane.org/gmane.comp.python.general.hispano
En googlegroups:
http://groups.google.com/group/pythonhispano
También es posible acceder a la anterior lista (python-es@aditel.org) desde
http://dir.gmane.org/gmane.comp.python.general.castellano
lunes, enero 25, 2010
Lista python-es
Copio un correo de Chema Cortés:
domingo, enero 24, 2010
C Coding stantards
Hace nada definimos las 'Python Coding Guidelines' en el curro.
Ahora le toca el turno a C.
En este post voy a recopilar referencias que vea por la web sobre Programming Styles [wiki] para C.
Y de C++:
Ahí van unos links sobre el tema de stackoverflow:
Ya tengo material mas que de sobra... para empezar a currar... :P
Ahora le toca el turno a C.
En este post voy a recopilar referencias que vea por la web sobre Programming Styles [wiki] para C.
Y de C++:
Ahí van unos links sobre el tema de stackoverflow:
- Your least favorite C++ Coding guideline
- What tools exist for comparing C++ code to coding guidelines?
- Coding Standards / Coding Best practices in C++
- Most crucial elements in a light-weight C++ coding standard
Ya tengo material mas que de sobra... para empezar a currar... :P
Some post of Jonathan Ellis's
Visité el blog de JE, porque ha publicado un post interesante: Linux performance basics. Habrá que ver como continua la serie...
Y aprovecho a enlazar un par de post suyos sobre python:
Y un enlace externo:
Todos ellos son lecturas interesantes.
Me dejo un enlace a un video para ver: Building Scalable Websites with GAE.
Y aprovecho a enlazar un par de post suyos sobre python:
Y un enlace externo:
Todos ellos son lecturas interesantes.
Me dejo un enlace a un video para ver: Building Scalable Websites with GAE.
sábado, enero 16, 2010
Un par de lecturas de última hora
- Un post interesante explicando MVC y patrones similares: A Field Guide to WPF Presentation Patterns. Tiene enlaces al site de Martin Fowler.
Y he leido un par de post interesantes sobre hotmail:
martes, enero 12, 2010
Rotating hash
I implemented this hash function in php.
Aqui podeis leer sobre ella y otras muchas. Pero realmente no creo que os sea muy interesante...En su lugar podríais usar crc32() que es nativa y por lo tanto mucho más rápida.
Ya como curiosidad... si quereis usar md5, debereis hacer....
Pero es mas lenta que crc32.
private function rotatingHash($key) {
$result = 0;
$n=strlen($key);
for($i=0;$i<$n;$i++) {
$result = ($result << 4) ^ ($result >> 28) ^ ord($key[$i]);
}
//We avoid getting negative results
return abs($result);
}
Aqui podeis leer sobre ella y otras muchas. Pero realmente no creo que os sea muy interesante...En su lugar podríais usar crc32() que es nativa y por lo tanto mucho más rápida.
Ya como curiosidad... si quereis usar md5, debereis hacer....
$unpack = unpack('S', md5($key, true));
return $unpack[1];
Pero es mas lenta que crc32.
viernes, enero 08, 2010
Python Code Checkers
He encontrado que hay disponibles los siguientes analizadores de código.
pylint, pep8, pyflakes, pychecker
El objetivo de todas ellas es de mejora la calidad del código. Bien por detectar errores antes de llegar a la etapa de ejecución, bien por indicarnos errores obvios, o bien por corregirnos el estilo de codificación.
Ejemplo típico de error detectado: uso de varibles no definidas previamente.
Veamoslos uno a uno, brevemente (no va a ser un análisis profundo ni mucho menos.... es un vistazo rápido)
pep8
Analiza el estilo del codigo para que se conforme al pep8.
Ejemplo de uso: pep8 cs_example.py --show-pep8 --ignore=E501
En el ejemplo anterior le estamos indicando que cuando nos de un error, muestre el texto completo del pep8 que se inclumple y que nos ignore el error E501.
Si no tenemos un estilo que se adapte al pep8 pero similar, puede sernos útile gracias a la posibilidad de ignorar los errores.
Por defecto solo muestra un error de cada tipo.
Con -h nos muestra la ayuda.
Conclusión: Está muy bien, pero puede ser un poco pesado con algunas cosillas. Eso si como las podemos ignorar...
Eso si, sólo para comprobar estilo.
pychecker
Sus dos principales características son:
Si sólo queremos parsear el fichero pasado se le debe indicar pasar el flag --only.
Por defecto ejecuta código de módulos importado, por lo que puede generar mucho ruido. Por fortuna se puede desactivar el análisis de módulos determinados por configuración.
pyflakes
Analisis estático
No chequea estilo
Limitado número de errores tratados.
Sólo analiza ficheros o directorios pasados por linea de comando.
No tiene ayuda en linea
pylint
Es la herramienta mas completa (basta con ver la ayuda (-h), permitiendo ademas el ser extendida mediante pluggins.
Hace sugerencias sobre como mejorar el código.
Conclusiones
Tras haber echado un vistazo rápido a ellos, y haber visto lo que se dice de ellos, parece que pylint es el mas completo.
El mas flojo parece que es pyflakes.
pep8 es curioso y tiene su utilidad ya que es muy estricto en el chequeo de las reglas.
pychecker por la forma de hacer el análisis podría detectar cosas que pylint no, pero habría que estudiarlo mas a fondo.... Y a pesar de ello no se si merecerá la pena. A priori diría que no.
Referencias:
pylint, pep8, pyflakes, pychecker
El objetivo de todas ellas es de mejora la calidad del código. Bien por detectar errores antes de llegar a la etapa de ejecución, bien por indicarnos errores obvios, o bien por corregirnos el estilo de codificación.
Ejemplo típico de error detectado: uso de varibles no definidas previamente.
Veamoslos uno a uno, brevemente (no va a ser un análisis profundo ni mucho menos.... es un vistazo rápido)
pep8
Analiza el estilo del codigo para que se conforme al pep8.
Ejemplo de uso: pep8 cs_example.py --show-pep8 --ignore=E501
En el ejemplo anterior le estamos indicando que cuando nos de un error, muestre el texto completo del pep8 que se inclumple y que nos ignore el error E501.
Si no tenemos un estilo que se adapte al pep8 pero similar, puede sernos útile gracias a la posibilidad de ignorar los errores.
Por defecto solo muestra un error de cada tipo.
Con -h nos muestra la ayuda.
Conclusión: Está muy bien, pero puede ser un poco pesado con algunas cosillas. Eso si como las podemos ignorar...
Eso si, sólo para comprobar estilo.
pychecker
Sus dos principales características son:
- a diferencia del resto ejecuta el código
- no comprueba estilo
Si sólo queremos parsear el fichero pasado se le debe indicar pasar el flag --only.
Por defecto ejecuta código de módulos importado, por lo que puede generar mucho ruido. Por fortuna se puede desactivar el análisis de módulos determinados por configuración.
pyflakes
Analisis estático
No chequea estilo
Limitado número de errores tratados.
Sólo analiza ficheros o directorios pasados por linea de comando.
No tiene ayuda en linea
pylint
Es la herramienta mas completa (basta con ver la ayuda (-h), permitiendo ademas el ser extendida mediante pluggins.
Hace sugerencias sobre como mejorar el código.
Conclusiones
Tras haber echado un vistazo rápido a ellos, y haber visto lo que se dice de ellos, parece que pylint es el mas completo.
El mas flojo parece que es pyflakes.
pep8 es curioso y tiene su utilidad ya que es muy estricto en el chequeo de las reglas.
pychecker por la forma de hacer el análisis podría detectar cosas que pylint no, pero habría que estudiarlo mas a fondo.... Y a pesar de ello no se si merecerá la pena. A priori diría que no.
Referencias:
domingo, enero 03, 2010
Error handling
En el curro tuve que dar una charla sobre 'error handling'. Actualizaré este post con contenido...
Pero mientras tanto, incluyo un thread que acaba de parecer en comp.lang.python: Exception as the primary error handling mechanism?.
Pero mientras tanto, incluyo un thread que acaba de parecer en comp.lang.python: Exception as the primary error handling mechanism?.
Suscribirse a:
Comentarios (Atom)