visual sobre reservadas programacion practicar para palabras lista lenguaje ejercicios comandos codigos .net vb.net vb6

.net - sobre - palabras reservadas de visual basic pdf



Funciones de tiempo de ejecuciĆ³n de VB en VB.NET para programadores de VB6 (6)

Estoy preparando una clase en Visual Basic 2005 dirigida a programadores de Visual Basic 6 que migran a la plataforma .NET.

Mi principal preocupación es enseñarles a mis alumnos las mejores prácticas para desarrollar en .NET, y me pregunto si considerar o no legítimo el uso de las funciones de tiempo de ejecución de VB VB.NET.

He leído que muchas de las funciones de VB en VB.NET realmente invocan métodos en .NET Framework, por lo que parece que existen principalmente para facilitar la transición de versiones anteriores de Visual Basic a VB.NET. Sin embargo, el equipo de VB.NET parece recomendar utilizarlos siempre que sea posible, ya que afirman que pusieron algunas optimizaciones encima de las API de .NET Framework.

¿Cuál es su opinión sobre esto?


Bueno, supongo que debes tomarlos al pie de la letra. Soy un programador de C # principalmente, pero he estado trabajando en una aplicación web VB.NET durante las últimas 6-8 semanas.

La estimación de mi asiento de los pantalones sugiere que usar funciones de conversión como CInt, CDate, etc. es tan rápido como usar métodos Convert.Toxxx.

Mi consejo sería: si lo hace más fácil, y no tiene una penalización de rendimiento, ¡adelante! También les enseñaría el enfoque .NET y dejaría que el usuario decida.

Por cierto, como un chico C #, me encanta la facilidad de las rutinas Cxxx. El hecho de que solo estén disponibles en VB.NET no significa que no deba usarlos (en mi humilde opinión). Caballos para cursos y todo eso.


Si desea enseñar las mejores prácticas de .Net framework que pueden moverse entre los idiomas, le sugiero que elimine la importación global para Microsoft.VisualBasic. Esto esencialmente te obliga a hacer un Microsoft.VisualBasic.Trim () etc. en lugar de solo "Trim ()".

Si no me equivoco, en Visual Studio 2008 ahora tiene la capacidad de eliminar la referencia todos juntos para el modo .Net "puro" en vb.net, lo que hace que sea más fácil avanzar y retroceder entre los idiomas.

Si solo está enseñando a chicos de vb.net, como los mencionados anteriormente mencionados, utilícelos, ya que están disponibles y requieren menos tipeo.


Si estás enseñando VB, esas funciones son parte de VB. Si está enseñando .Net Framework, esas funciones no son parte del Framework. Si intenta hacer su trabajo y tiene herramientas disponibles, use sus herramientas.


Una cosa que probablemente deberías mencionar si mencionas tanto los métodos de framework como las funciones de VB.NET es que, aunque a veces sienten que son lo mismo, en realidad pueden hacer sutilmente cosas diferentes.

Por ejemplo, el operador igual para cadenas trata una cadena nula como lo mismo que String.Empty (consulte El costo real de rendimiento para un ejemplo de lo que sucede cuando lo olvida).

Además, las funciones de VB.NET a menudo dan una buena configuración predeterminada para realizar la operación en cuestión, pero donde necesita más control, a menudo será necesario volver a los métodos del Marco, por ejemplo, si necesita hacer una cadena. conversiones en una cultura diferente .


Ya hay mucho para que los programadores de VB6 aprendan al migrar a VB.NET. Por qué no dejarlos usar las funciones VB al principio, pero sí enseñarles las versiones .NET framework. Más tarde, podrían cambiar a las funciones de .NET Framework, especialmente si es probable que también necesiten usar C #.

EDITAR (mucho más tarde): ¡dos renombrados gurús de VB toman puntos de vista opuestos!

  • Francesco Balena (en su popular libro Programming Microsoft Visual Basic 2005: The Language ) recomienda que los desarrolladores ex-VB6 aprendan la sintaxis .NET tan pronto como se sientan cómodos con el nuevo idioma y eviten el uso de métodos y clases en el espacio de nombres Microsoft.VisualBasic si es posible [ pag. 100]. Su punto es que, en general, los métodos .NET nativos ofrecen una mayor flexibilidad y su aprendizaje es una inversión en caso de que luego necesite usar C # u otro lenguaje .NET.
  • Dan Appleman (en su popular libro Moving to VB.NET: Strategies, Concepts and Code ) recomienda que se sienta libre de seguir con el espacio de nombres nativo de Microsoft.VisualBasic, evitando solo aquellos en el espacio de nombres Microsoft.VisualBasic.Compatibility.VB6 [p. 265]. Su punto es que Microsoft.VisualBasic es una parte central del framework .NET.

Donde estoy, tengo que ir y venir entre C # y VB.Net con frecuencia. Con esto en mente, realmente no nos gustan las antiguas funciones de VB, especialmente las funciones de cadenas: Trim(), Replace(), Len(), UCase() , etc. Simplemente se ven raras en un programa .Net, y No me gustaría verlos en el código en el que tuve que trabajar.

La única excepción podría ser Len() , si lees el código en tu cabeza usando el of verbage. En ese caso, leer Len(theString) como length of theString parece tener sentido. En los demás, es más una operación realizada por la cadena, y entonces quiero ver el. (punto) notación.

Por otro lado, me ha costado CStr, CInt, CDbl de los operadores de conversión: CStr, CInt, CDbl , etc.

No puedo decirte por qué me gusta un tipo y no el otro; podría ser que encuentre Convert.To ___ () demasiado detallado, o tal vez tenga algo que ver con que sean operadores en lugar de funciones.

Editar
Este punto se perdió un poco en el resto de mi publicación, así que quiero enfatizarlo de nuevo:

En muchos lugares, VB.Net coexiste con C #. No creo que veas tantas tiendas VB.Net como puedas para C #. Simplemente no es tan popular, y muchas de las tiendas de VB.Net se mueven a VB.Net solo como un estado de transición, mientras que los programadores también aprenden C #. En estos entornos mixtos, tiene mucho sentido si las funciones antiguas de VB están estrictamente prohibidas en el nuevo código. Nunca se sabe cuándo se tendrá que mover un módulo, y hay una sobrecarga de compartir la mente al tener que poder asimilar ambos estilos a la vez. Entonces, realmente es una mala idea no entender ambos.