resources - remix - smart contracts ethereum
Biblioteca de códigos personales (11)
Debido a que principalmente hago desarrollo web, he abstraído algunas características comunes que termino haciendo frecuentemente en sitios para clientes.
Ajax Emailer . Casi todos los sitios en los que trabajo tienen algún tipo de formulario de contacto. Escribí una utilidad que me permite soltar algo de HTML en una página, tener validación de campo de JavaScript y una biblioteca de PHP que me obliga a cambiar algunos parámetros para que funcionen con el servidor de correo de cada cliente. Lo único que tengo que escribir es CSS cada vez que lo incluyo en una página.
Generador esqueleto de hoja de estilos . Escribí una pequeña utilidad de JavaScript que recorre el DOM para cualquier página en la que haya sido incluido y luego archiva un esqueleto de CSS válido para que pueda comenzar a escribir estilos inmediatamente sin tener que hacer la tarea repetitiva para cada sitio en el que trabajo.
JavaScript Query String Parser. Ocasionalmente necesito analizar la cadena de consulta pero no garantiza ninguna modificación importante en el servidor (como la instalación de PHP), así que escribí una utilidad de JavaScript genérica que puedo configurar fácilmente para cada sitio.
También tengo otras ventajas y utilidades, pero están pirateadas para uso personal. Me avergonzaría que alguien vea la fuente.
Actualizar
Varias personas han pedido mi generador de esqueleto de hojas de estilo en los comentarios, así que les proporciono un enlace al proyecto aquí . Se basa más o menos en la forma en que estructura mi XHTML y formateo mi CSS, pero espero que lo encuentre útil.
Entonces supongo que no soy el único. Me pregunto si hay otros que hayan compilado una biblioteca de códigos personales. Algo que tomas de un trabajo a otro que tiene ejemplos de mejores prácticas, cosas de las que estás orgulloso, o simplemente métodos comunes que te ves usando una y otra vez.
Recientemente comencé mi biblioteca de C #. Ya tiene bastantes artículos pequeños. Las validaciones comunes de Regex, las interfaces para el manejo de excepciones, algunas sobrecargas de conversión de tipo, envoltorios de enum, métodos de detección de inyección sql y algunos controles de usuario comunes con ejemplos de kit de herramientas AJAX.
Me pregunto qué tipo de cosas tienes en el tuyo.
En los días de la programación de C en MacOS 7, escribí una biblioteca de OO bastante extensa (sí, OOP en C muy antigua) principalmente para manejar ventanas de diálogo. Lo abandoné por PowerPlant (un agradable C ++ de Metrowerks) durante el cambio de 68k a procesadores PPC.
Un poco después de eso, comencé a escribir aplicaciones web, primero en PHP, recientemente en Django. En este aspecto, mi código reutilizable se limita a algunos trucos y estilo de código.
Pero para todo lo que no sea web (o con solo componentes de web pequeños), he estado usando Lua. Es tan rápido para escribir y reescribir el código, que hay muy pocos incentivos para reutilizar el código. Quiero decir, ¿qué sentido tiene copiar una función de 10 líneas y luego adaptarla? es más rápido reescribirlo solo para este proyecto.
Eso no es tan derrochador como parece. El código Lua es tan sucinto que mis aplicaciones pueden ser muy complejas, pero rara vez tienen más de un par de miles de líneas.
Al mismo tiempo, varios proyectos de Lua implican una interfaz con las bibliotecas de C. Es muy fácil escribir enlaces a bibliotecas existentes, así que lo hago como un subproyecto. ¡Y estos módulos son lo que reutilizo! una y otra vez ... con muy pocos cambios (si corresponde) de un proyecto a otro.
En resumen: los proyectos que no son web suelen ser códigos Lua únicos y algunos módulos de enlace muy reutilizados.
Para mi trabajo con PHP, comencé con un pequeño archivo de cosas simples: una función de correo que verifica las entradas para los ataques de encabezado, y el validador de correo electrónico, un elemento de entrada, ese tipo de cosas. Con el tiempo, se ha convertido en un marco de aplicaciones para desarrollar rápidamente aplicaciones únicas que pueden ser modeladas por nuestro diseñador gráfico.
Tengo mi biblioteca personal multiplataforma de C ++ aquí: http://code.google.com/p/kgui/
Es de código abierto LGPL, lo uso en mis proyectos de pasatiempo / voluntariado. Empecé hace unos 3 años y poco a poco he ido añadiendo funcionalidad.
Tengo una biblioteca que uso bastante extensamente. Comencé de nuevo con c # y arrojé todas las cosas heredadas por la ventana. Los encuentro muy útiles y los reescribo / refactorizo a menudo (algunos de ellos). Algunas de las cosas que tengo son:
- Auxiliar (cosas como IsRunningLocal, InternetDetection)
- Clases o estructuras estándar para: dirección, tarjeta de crédito, persona
- Tengo .dll''s tanto para win como para web, algunos muy lógicos como .dll para cosas de carrito de compras
Tengo varias funciones útiles de MATLAB que he llevado conmigo a medida que avanzo de un trabajo a otro, particularmente aquellas que hacen cumplir los estándares W3C en las parcelas que hago para asegurar que los colores de texto y de fondo tengan una buena relación de luminosidad . También tengo una función que usa ActiveX para insertar una figura de MATLAB en PowerPoint.
Uso mi propia wiki donde publico fragmentos de código y comentarios.
Encuentro eso más útil que tener mi propia biblioteca. Y dado que son esencialmente notas y no programas completos, no hay ningún problema con quién es el propietario del código (usted o su empleador).
PD: No oculto el hecho de que tengo eso de mi empleador. De hecho, la mayoría de ellos fueron positivos e incluso solicitaron una copia.
He descubierto que usar Snipplr hace que esto sea increíblemente conveniente. Puede etiquetar elementos, guardar favoritos, buscar por palabra clave, etc. Lo uso sobre todo para fragmentos relacionados con Vim (comandos comunes, archivos vimrc, etc.), pero se puede usar para cualquier cosa. Echale un vistazo.
Guardo mis bibliotecas de códigos personales en CPAN . Ni siquiera estoy seguro de cómo haría esto en otros idiomas. Está demasiado integrado en la forma en que pienso en la programación ahora.
Escribí una biblioteca rápida y sencilla en Java a la que puedo agregar fragmentos de código. Planeo extenderlo a un marco completo para el desarrollo en algún momento, pero solo cuando el tiempo lo permita. Tengo todo tipo de cosas desde funciones simples hasta páginas completas y características. Es muy útil tenerlo en desarrollo porque como diseñador web, todo lo que necesito hacer es cambiar el CSS de la página.
Utilizo Source Code Library desde http://www.highdots.com/products/source-code-library/ ya que puedo administrar diferentes archivos de texto, notas, capturas de pantalla y diferentes lenguajes de programación.