miércoles, 24 de octubre de 2007

simplemente no me gustan los usarControl de .NET??

bueno dice el titulo de la entrada. es verdad, no me gustan los usercontrol de .NET. tratare de detallar el por que no me gustan:
  • Una de las principales desventajas que to le veo personalmente, es que uno nunca sabe que se cuando no donde. yo ya llevo un tiempo trabajando con user-control y efectivamente, cuando estoy desarrollando no me doy cuanta cuando efectivamente va al servidor. cuando va solo una parte de una pagina o toda la pagina completa.
  • Cada vez que uso un asp:button al hacer click sobre el hace un submit del formulario automaticamente. y caemos en el juego del item anterior.
  • Creo que no es muy buena la integración con diseño. si bien los usercontrol la mayoria por no decir todos, acepta asignarle una clase css. este no es muy claro para un diseñador. ya que por ejemplo, por lo general diseñan con divs y no con tablas. aqui dejo un link http://www.effectivetranslations.com/stupidtables/everything_es.html.
  • cada ves que generamos un control este al lado del cliente genera un id aliatorio (si saben como arreglar esto por favor diganme), esto nos complica al lado de hacer cosas y validaciones javascript, ademas de definir reglas css. ya que en css podemos hacer clases, psedo-clases y etiquetas. seria bueno comentar que en css si no pone algo asi.

    #idElement{
    /*aqui deberia ir el estilo*/
    }
  • no me siento bien haciendo javascript, para cosas que tienen que ver con usercontrol. a mi me da la impresión de que estoy parchando el codigo. y amoldandome al código que genera .NET y sus usercontrol.
  • No se como extender un userControl, por ejemplo un dataGrid. a pesar de que este es solo un cuento mio. de todas formas igual lo agrego.
  • definitivamente prefiero usar un motor de plantilla. aunque sea pre-historico, jejeje.
Ventajas de usar motor de plantillas:
  • Nos permite solo dejar solo la lógica necesaria en la capa del cliente.
  • Mejor integración con diseño, ya que siempre diseño construye html y no asp:dataDrig
  • Sigue siendo html, con ciertos tags de repetición. los cueles pueden ser entendidos por casi cualquier persona, que quiera cambiar un color o un orden en cualquier cosa.
  • por lo general. (string Template lo hace) permite plantillas anidar platillas. de esta forma podemos tener un layout general , y solo hacer un plantillas mas chichas para las parte de información.

aqui les dejo el link de StringTemplate, para que lo miren es bastante bueno. http://www.stringtemplate.org/


bueno como conclusión. no me siento comodo haciendo user-control. creo que haciendo html+javascript+css puedes hacer muchas cosas mas que con user-control+css(limitado)+javascript(limitado), por que digo limitado, en css. uno siempre se tiene que preocupar por el navegador del cliente, eso ya es una limitancia para desarrollar css. y mas un si ponermos otro filtros mas que son los usercontrol. para javascript se repite lo mismo.

viernes, 7 de septiembre de 2007

Estándar de codificacion

existe algún estándar para codificar?
yo se que este tema es muy discutido tanto dentro de las empresas como fuera.

por que surge mi inquietud, tengo que desarrollar un sistema en .NET con VBSCRIPT :( y están definiendo ciertas reglas para la definición de variables, parámetros y objectos.

por ejemplo para las variables anteponer el tipo en la declaracion.
VBSCRIPT

Dim inti as Integer
Dim strCadena as String
Dim objPersonaNueva as Persona
Dim longNumeroLargo as Long
Function foo(ByVal paramNumero as int)
// Anteponer la palabra param si es un parametro

bonus track: Como quedaría el típico for en c#
for (int i=0;i < largo;i++)
quedaria algo asi:
for (int intI=0;intI < intLargo;i++)

Por que no?

  • por que uno pierde la gracia de los ide, el típico control mas espacio(prediccion) si todo tiene el mismo prefijo cuando le damos control+espacio con la palabra int nos va a arrojar por lo menos 10 coincidencia
  • por usas prefijos si los ide, la mayoría tiene una opción de saber ir a la definición, ademas en este caso puntual, nadie edita cosas en punto en el block de nota, por que es muy complicado compilar por consola una aplicación web.
  • conversando ayer mi amigo y companero leo.soto, me comento lo siguiente:"Microsoft hasta antes de .NET, es decir VB6 recomendaba usar sufijos, pero actualemente no lo recomienda". ahora recomienda en cosas que el nombre de la variable no refleje mucho el tipo de la variable por ejemplo nombre sabemos que es de tipo String, pero rut de que tipo es?? por eso ahora Microsoft recomienda para estos cosas colocar rutInt o rutString.
A me me parece excelente dentro de una empresa que se trate de mojorar los codigos que uno genera pero creo que no se puede ser mu estrictos. por ejemplo seria bueno plantearse lo siguientes puntos.
  • Cantidad de lineas por métodos.
  • Nombre de variables a los C o a lo java personaNombre o persona_nombre
  • si es posible definir variables contadores dentro del for. for (int i =0..........
  • que siempre los nombres de las variables tienen que reflejar el contenido, no usar variables hola por ejemplo(parece autocritica).
lo que si encontró que es muy importante son los comentarios tanto por método y por clase,
ademas crear un tipo de membrete al inicio de cada clase con las fecha de creación, autor, y fecha de modificación, y quien las hizo, esto no esta de mas aunque, por lo general uno usa un sistema de control de versiones asi, que uno debería saber quien hizo que y cuando. pero no esta demás.

Conclusión:

Si estoy de acuerdo con los estándar, pero en esto punto solo se puede confiar en el criterio del desarrollar, aunque muchos somos unos descriteriados. pero el hecho de sufijar el tipo lo encuentro latoso y a lo mejor poco elegante para un codigo, perlo general uno va a terminar colocando el prefijo va a terminar enumerando las variables per ejemplo: objPersona1 y objPersona2.

por favor hagan sus aportes, ya que este tema es super amplio. Gracias

y de nuevo disculpen las faltas de ortografías.

miércoles, 29 de agosto de 2007

trim javascript??

existe alguna funcion nativa de javascript que haga un trim?

yo busque y busque........
y no paso nada, no pude encontrar una función que le saque los espacios al final y al inicio de un string


aquí dejo una función que hace eso con expresiones regulares.

function ltrim(s) {
return s.replace(/^\s+/, "");
}

function rtrim(s) {
return s.replace(/\s+$/, "");
}

function trim(s) {
return rtrim(ltrim(s));
}

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

viernes, 17 de agosto de 2007

Firebug










FireBug a mi gusto es una de las mejores extensiones que existen para firefox, desde el punto de vista de un desarrollador.

las principales características de Firebug son:
  • Permite inspeccionar y editar html, esto lo hace directamente en la pagina sin refrescarla ni nada.
  • Cuantas veces hemos querido depurar javascript, Firebug trae incorporado un debugger de javascript.
  • Ejecuta javascript al vuelo, trae una consola para ejecutar javascript, esta consola toda los códigos que ya tenemos incorporados en la pagina que estas visualizando.
  • Por si fuera poco nos da la posibilidad de ver las peticiones Http que se hace por abajo, sin refrescar la pantalla completa, mas conocido como ajax(aunque en si no tengo una definición de ajax muy clara, de hecho no se si exista).
  • permite inspeccionar el dom de la pagina que estamos visualizando.
  • Trae una consola, mucho mejor que la que trae por defecto firefox.
En realidad es muy buena esta extensión, yo la uso desde que llegue a trabajar a Imagemaker. y desde ahí que he dependido de ella.

pagina oficial: http://www.getfirebug.com

lunes, 13 de agosto de 2007

JSON?

JSON(JavaScript Object Notation) es una forma de escribir objetos en javascript. es muy util por ejemplo para trabajar con ajax.

Vamos por el principio, aquí hay un pequeño ejemplo de como hacer un objeto, (aun que javascript no es orientado a objetos), un pequeño ejemplo:


var persona1 ={'nombre':'Victor Hugo Saavedra','telefono':'9999999','edad':'24'}
var persona2 ={'nombre':'Victor','telefono':'888888','edad':'20'}

después para acceder a esto es como en casi todos los lenguajes objeto punto atributo


persona1.nombre /* devuelve "Victor Hugo Saavedra"*/
persona2.nombre /* devuelve "Victor" */
persona1.edad /* devuelve "24" */


esto uno lo propria asignar a variables o hacer lo que uno quiera
pero ejemplo:


alert("las personas son:"+ persona1.nombre + " - " + persona2.nombre);


ademas en la mayoría de los lenguajes tienes funciones para encodear json y hacer lo inverso. en php (http://cl.php.net/json)

para información general http://json.org/

Fanatismo sin Razon

Mis primeros programas web o sitios, fueron desarrollados en php, siempre me a gustado php. pero desde hace un tiempo es que ya no soy tan fanatico de este lenguaje.

¿Sera por que he tenido que programar en otros lenguajes?
Yo creo que si, un par de veces hice algunas cosas en Python con django y Jpython y lo encontré maravilloso, fácil de entender. lo que haces en varias lineas en java, en pascal e inclusive en php, en python lo puedes hacer hasta en una.

Pero esta entrada del Blog no es sobre python todo a su tiempo.

Algunas cosas de las cuales php dejo de ser tan maravilloso son.
  • Después de trabajar con php, me parece insólito que en una versión una función x reciba los parámetros y en la próxima versión reciba los parámetros al revés.
  • Que los arreglos no sean arreglos en si, los arreglos en php, son Hashtables. en la mayoria de los arreglos son simplente un valor con un indice, en cambio en php el valor tiene un indice y ademas una llave. ¿esto sera bueno o malo? no lo se, pero a veces hecho de menos los típicos arreglos. me imagino que el crear una Hashtable consume mas recursos que un simple arreglo. aunque esto es totalmente debatibles.
  • A pesar que ya eh trabajado mucho tiempo con php, las cosas salen rapido y relativamente fácil, pero hecho de menos un buen framework para desarrollar. hace un tiempo vi smarty y la verdad no me gusto mucho. me gustaría que hubiera un framework como Django para Python y Rails para Ruby.
Como conclusión me sigue gustando php, pero no como antes, prefiero c# , python a ojos cerrados(aunque no los manejo mejor php). y otra cosa buena que tiene php es su documentación en http://www.php.net


Disculpen la faltas de ortografías y mala redacción, me esforzare en ir soltando la mano cada día. :)

jueves, 28 de junio de 2007

Bienvenidos

Bienvenidos

la idea de esto es que este blog, es ir degando una bitacora y compartir todo lo que estoy haciendo con respecto a programación, todo le que voy a aprendiendo.

La idea es que los demas personas que entren tambien puedan, escribir y compartir.


de paso asi tambien me sirve para mejorar la Ortografia.

--
Atte.
Victor Hugo Saavedra