¿Qué código reutilizable debe tener cada desarrollador en su caja de herramientas? [cerrado]

StackOverflow https://stackoverflow.com/questions/474878

  •  19-08-2019
  •  | 
  •  

Pregunta

Estoy tratando de construir una biblioteca de código reutilizable para usar de un proyecto a otro. A medida que escribo fragmentos de código y componentes, estoy tratando de decidir qué bibliotecas aprovecharé más a largo plazo VS ¿Realmente volveré a usar esto?

¿Qué código o componentes reutiliza que debería tener cada desarrollador?

Estoy principalmente interesado en la web .net y winforms.

¿Fue útil?

Solución

Expresiones regulares para verificar

  • Fecha válida
  • Número válido
  • Entre dos fechas
  • Zip
  • Postal
  • Edad
  • Rango de números

Dependiendo del idioma ya que algunos ya tienen estas características

Otros consejos

Sistema operativo A * nix (Unix, Solaris, Linux, MacOS, Cygwin) y es "clásico" conjunto de utilidades de línea de comando.

Las formas de fusionar, mezclar, hornear, triturar y abusar de estos conceptos fundamentales son inconmensurables.

Personalmente, creo que un buen marco debería proporcionar estas herramientas, no tú. Si no es la biblioteca predeterminada del idioma (Java es un buen ejemplo).

Depende del tipo de aplicaciones que escriba. Así que no creo que haya una caja de herramientas real para ningún problema. (O debería ser el marco).

Tenemos varias aplicaciones y una biblioteca de aplicaciones cruzadas. Que contiene mucho código:

  • Funciones de impresión.
  • Procesamiento de formas (hacemos mucho con formas y polígonos)
  • dB cálculos
  • comportamiento general de la aplicación (estilo de vida).

Cada vez que tenemos algo en una aplicación que posiblemente sea útil para otras aplicaciones, se mueve a la biblioteca.

  • Código de agrupación de bases de datos
  • Registro
  • Manipulación de cadenas y colecciones
  • Mantenimiento de IoC (anotaciones o XML)
  • Manejo de archivos y directorios

Algunos de estos pueden suministrarse con una VM o bibliotecas estándar, pero siempre necesitará algo extra.

He estado trabajando en la creación de un conjunto de código reutilizable para C #, desde hace un tiempo. Al agregar 1 componente a la vez y, lo que es más importante, usar el marco para una aplicación real, finalmente he hecho el marco muy simple, bien documentado y con varios "módulos". que tienden a usarse una y otra vez.

Compruébelo en CommonLibrary.NET en CodePlex

Es un poco más simple y liviano que SpringFramework y MS App Blocks.

Incluye cosas como: 1. Análisis de argumentos / opciones 2. Clases de ActiveRecord / Modelo de dominio 3. Colecciones 4. Validación y mucho más ..

Pienso fácilmente en:

  • Plantillas de listas vinculadas
  • Plantillas de árbol rojo-negro
  • Mini-API de inicialización de la base de datos (para su base de datos favorita o capa de persistencia)

Creo que esto diferirá en gran medida según el idioma y lo que el marco de trabajo que esté utilizando tenga para ofrecer. Gran parte del código reutilizable necesario estaría en un marco moderno.

La respuesta depende de su objetivo: hacer que algo sea "reutilizable" requiere más esfuerzo al inicio pero, por supuesto, paga más tarde cuando se reutiliza, siempre que sea verdaderamente reutilizable. A veces esta habilidad está sobrevalorada ... OMI ...

La verdadera respuesta a esto se responderá a medida que escriba el código: cuando se encuentre diciendo, caramba, acabo de escribir algo como esto la semana pasada.

Mi " caja de herramientas " consiste en cadena, matemática, red, base de datos, archivo, registro y una gran cantidad de otra '' biblioteca '' rutinas (ensamblajes, etc.) que puedo incluir rápidamente como referencias. Por supuesto, la clave para hacer de esta una biblioteca viva es mantener el código de estos elementos de la biblioteca realmente separado de la aplicación / código que se está desarrollando.

espero que ayude ...

gran pregunta

  1. almacenamiento en caché a nivel de objeto comercial
  2. mi propio kit de herramientas de autenticación personalizado
  3. selectores jquery
  4. CSS para formularios, pestañas y elementos ui
  5. cifrado y hash para contraseñas, etc.

aunque estoy empezando a reemplazar mis cosas con la biblioteca empresarial - http: //msdn.microsoft.com/en-us/library/cc467894.aspx : al menos se mejora con el tiempo y tiene más ojos que mis implementaciones

En .Net:

  • Métodos de extensión que no están en .Net Framework (ForEach, AddRange, RemoveWhere, etc.)
  • Switch.Type (para visitantes)
  • Validación de argumento básico (Argument.EnsureNotNull)

Eso es casi todo, varias bibliotecas gratuitas cubren el resto.

Autenticación PKI

Mis dos:

  • código de inyección de dependencia , para que pueda hacerlo más comprobable; y no depender de una sola implementación de un singleton.

  • Modular / Complementos funcionalidad. También es una gran idea hacer que este simulacro, para que su código de cliente se pueda probar sin invocar un sistema de complemento completo.

Hay varias implementaciones de ambas, aunque a veces no puedes evitar escribir la tuya. :(

Analizando clases

Clases de manipulación de fechas

clases de mensajería

clases de validación

Como mantenedor de código cansado y descontento, consideraría estas preguntas de manera diferente: qué código debería requerir el proyecto, para evitar que siete * desarrolladores creen siete soluciones diferentes, que requieren siete modificaciones cuando algo cambia (después de descubrir que existe son siete soluciones diferentes).

Creo que la mayoría de las personas consideran la reutilización como una herramienta de eficiencia en el desarrollo inicial, y olvidan que también es la clave para un mantenimiento eficiente.

* Creo que solo hay siete, pero todavía estoy en pruebas.

Una clase de dinero que puede manejar moneda, distribución, operaciones aritméticas y formato.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top