Empezar con ObjectScript es realmente emocionante, pero también puede resultar un poco extraño si estáis acostumbrados a otros lenguajes. Muchos principiantes tropiezan con los mismos obstáculos, así que aquí tenéis algunas "trampas” a las que debéis prestar atención. (Y también algunos consejos para evitarlas)
PONER NOMBRES AL AZAR
Todos hemos caído en la tentación de llamar a algo Test1 o MyClass solo para avanzar rápido. Pero una vez que vuestro proyecto crece, esos nombres se convierten en una pesadilla.
➡ Elegid nombres claros y coherentes desde el principio. Pensad en ello como si dejarais migas de pan para vuestro yo del futuro y para vuestros compañeros de equipo.
CONFUNDIR GLOBALES Y VARIABLES
Los globales (^GlobalName) pueden ser confusos al principio. No son simples variables. Viven en la base de datos y permanecen incluso después de que vuestro código deje de ejecutarse.
➡ Usadlos solo cuando realmente necesitéis datos persistentes. Para todo lo demás, quedaos con variables locales. (Esto también ahorra almacenamiento.)
OLVIDAR LAS TRANSACCIONES
Imaginad que actualizáis el registro de un paciente y vuestra sesión se bloquea a mitad de camino. Sin una transacción, os quedaríais con datos a medio hacer.
➡ Encapsulad las actualizaciones importantes en TSTART/TCOMMIT. Es como pulsar “guardar” y “deshacer” al mismo tiempo.
CONSTRUIR SQL EN CADENAS
Es tentador meter SQL directamente en cadenas y ejecutarlo. Pero eso rápidamente se vuelve desordenado y difícil de depurar.
➡ Usad SQL embebido. Es más limpio, seguro y fácil de mantener.
EJEMPLO:
❌ Construir SQL en cadenas
Set id=123
Set sql="SELECT Name, Age FROM Patient WHERE ID="_id
Set rs=##class(%SQL.Statement).%ExecDirect(,sql)
✅ Uso de SQL Embebido
&SQL(SELECT Name, Age INTO :name, :age FROM Patient WHERE ID=:id)
Write name_" "_age,!
SALTARSE EL MANEJO DE ERRORES
A nadie le gusta ver cómo su aplicación se bloquea con un mensaje críptico. Eso suele pasar cuando se ignora el manejo de errores.
➡ Encapsulad las operaciones arriesgadas en TRY/CATCH y daos a vosotros mismos mensajes de error con sentido.
IGNORAR MEJORES HERRAMIENTAS
Sí, el terminal funciona. Pero si solo programáis ahí, os estáis perdiendo mucho.
➡ Usad VS Code con la extensión de ObjectScript. La depuración, el autocompletado y el resaltado de sintaxis hacen la vida mucho más fácil.
REINVENTAR LA RUEDA
Los desarrolladores nuevos suelen intentar escribir sus propias utilidades de registro o de manejo de JSON, sin darse cuenta de que ObjectScript ya tiene soluciones integradas.
➡ Explorad %Library y los objetos dinámicos antes de crear lo vuestro.
ESCRIBIR “CÓDIGO MISTERIOSO”
Todos hemos pensado: “Esto lo recordaré más tarde.”
⚠️ SPOILER: ¡NO LO HARÉIS!
➡ Añadid comentarios breves y claros. Incluso una sola línea explicando por qué habéis hecho algo ayuda muchísimo.
CONCLUSIONES FINALES :)
Aprender ObjectScript es como aprender cualquier otro lenguaje nuevo. Requiere un poco de paciencia, y cometeréis errores por el camino. La clave está en reconocer estas trampas comunes cuanto antes y construir buenos hábitos desde el principio. De ese modo, en lugar de pelearos con el lenguaje, disfrutaréis realmente de lo que puede hacer.