Rechercher

Article
· Août 9 2m de lecture

Deixe um rastro de migalhas de código no ObjectScript

A ObjectScript pode parecer apenas mais uma linguagem de programação, mas aqui está a reviravolta:

Seu código pode viver para sempre (sim, mesmo depois que você tiver passado para outro projeto). É por isso que é importante mantê-lo organizado, fácil de ler e seguro contra bugs misteriosos.

(Um guia para iniciantes para manter seu código limpo, amigável e à prova de futuro)

Bem-vindo à selva do ObjectScript, onde seu código pode ter escopo global e natureza persistente. Vamos manter as coisas limpas, legíveis e resistentes a bugs.

 1️⃣Nomeie como se fosse sério

Variáveis e globais devem ser nomeadas como se tivessem um perfil no LinkedIn.
Pule o x, y, z; use patientID, invoiceTotal, ^MyApp("Users",...).

Set patientID = 1023
Set ^Hospital("Patients",patientID,"Name") = "Marshmallow"

💡 Por que: Quando você revisitar isso em 6 meses, “Marshmallow” ainda fará sentido, ^H(1,"N") não.

 2️⃣ Conscientização sobre o aquecimento global  🌍

Globais são poderosas, mas não jogue dados nelas como se fosse uma cesta de roupa suja.
Prefixe com o nome do seu aplicativo para evitar colisões.
Mantenha a ordem de sua chave lógica: a maior categoria primeiro, os detalhes por último.

Set ^PetStore("Cats","Persian",1,"Name") = "Luna"

💡Dica: Se você não rotularia uma caixa como “Coisas”, não nomeie uma global ^DATA.

 3️⃣ O tamanho do método importa 🐹

Se o seu método for mais longo que a paciência de um hamster, divida-o.
Métodos pequenos e focados são mais fáceis de testar, reutilizar e manter.


ClassMethod GetPatientName(patientID As %Integer) As %String
{
    Quit ^Hospital("Patients",patientID,"Name")
}

 4️⃣ Pegue esses erros sorrateiros 🎣

 

Try {
    Write ^Hospital("Patients",9999,"Name")
}
Catch ex {
    Write "Error: ", ex.DisplayString(), !
}

💡Não deixe seu código ter um ataque de nervos em produção. Embrulhe operações perigosas em Try/Catch.

 5️⃣ Comente como se você se importasse 💌

Comentários são cartas de amor para o seu eu futuro. Mantenha-os curtos, relevantes e atualizados.

// Assign the patients therapy cat
Set ^Hospital("Patients",patientID,"Pet") = "Mittens"

Bons hábitos de codificação vão além de qualquer linguagem de programação; eles são universais. Talvez você seja um campeão de nomes de variáveis claros, um mestre em tratamento de erros sólido como uma rocha, um crente em desenvolvimento orientado a testes, ou você tem um pequeno truque peculiar que faz seu código brilhar. Seja o que for, compartilhe! Publique suas melhores práticas, lições aprendidas ou sabedoria em pequenas porções nos comentários e vamos criar um tesouro de dicas para ajudar tanto iniciantes quanto desenvolvedores experientes a escrever código mais limpo, inteligente e eficiente. 🚀

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Question
· Août 9

Manifest or Class?

I have the unfortunate job of installing IRIS and Healthshare (real Healthshare not Healthconnect) on 16 difference instances (tst, stg, prd with mirrors etc). the Dev was set up manually (mostly by me).

So I decided to create a class that installed the db's, namespaces, mappings and HSREGISTRY options , i then decided an installer manifest was a better idea, I keep changing my mind on which!.  I understanding manifest is "typically" for dockers to create the environment but have seen ISC use them for creating new setups aswell (outside docker)

As such I'm looking for opinions on which is the "best", mainly to stop me from changing my mind every 5 seconds.

Also if anyone has a healthshare (specificially HSREGISTRY configurations items) manifest they'd like to share?

2 Comments
Discussion (2)3
Connectez-vous ou inscrivez-vous pour continuer
Annonce
· Août 9

Visão geral do HealthShare Unified Care Record – Virtual 26 e 27 de agosto de 2025 - Vagas de inscrição disponíveis

  • Visão Geral do HealthShare Unified Care Record – Virtual August 26-27, 2025
    • O curso Visão geral do HealthShare Unified Care Record é uma ótima maneira para qualquer pessoa se familiarizar com o Unified Care Record, mas especialmente para aqueles que precisam entender seus recursos, mas não como configurá-lo.
    • Este é um curso de treinamento presencial, não técnico e ministrado por instrutor, que fornece uma introdução abrangente ao HealthShare Unified Care Record.
    • Este curso é para qualquer pessoa que precise saber sobre a funcionalidade e a arquitetura do HealthShare Unified Care Record. (Se precisar de informações sobre como configurar e solucionar problemas do Unified Care Record, considere a aula Fundamentos do HealthShare Unified Care Record.)
    • Nenhum conhecimento ou experiência prévia é necessário para a aula de Visão Geral e qualquer funcionário da InterSystems pode se inscrever.
    • Registre-se aqui 
Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Annonce
· Août 8

Recapitulação do InterSystems Developer Community, Julho 2025

Olá e bem-vindo ao Recapitulação da comunidade de desenvolvedores Julho 2025.
Estatísticas gerais
20 novas postages publicadas em Julho:
 10 novos artigos
 9 novos anúncios
 1 nova pergunta
4 novos membros ingressaram em Julho
1,411 postagens publicadas ao todo
640 membros ingressaram ao todo
Principais publicações
Como usar o Global - Inspector
Por Larissa Prussak
Meu IRIS Haiku
Por Larissa Prussak
Toolqa - A espera acabou
Por Andre Larsen Barbosa
Introdução ao PEP 8
Por Heloisa Paiva
Principais autores do mês
Artigos
#InterSystems IRIS
 
#InterSystems IRIS for Health
 
Anúncios
#InterSystems IRIS
 
#Outro
 
#Open Exchange
 
#InterSystems IRIS for Health
 
Perguntas
#InterSystems IRIS
 
Julho, 2025Month at a GlanceInterSystems Developer Community
2 Comments
Discussion (2)1
Connectez-vous ou inscrivez-vous pour continuer
Question
· Août 8

How do I release unused licenses in Cache 2018.1.7

I have a personal copy of Cache which I use to help me with certain things. The instance resides on my Windows desktop. The apps I use a web enabled. It would be great if I could access my apps via web browser from my laptop without having to keep a copy of Cache on my laptop. It would make it difficult to keep the databases synced. So, if I restart my Cache instance, then I can use get to my apps by entering the url: http://ipadd:57772/csp/user/myapp.cls. but later, after having closed the browser on my laptop, if I try to open a browser session on my desktop I get license limit exceeded. So I restart my cache instance and then I can access the app on my desktop, but not on my laptop. I am not asking that I be able to have a browser session open on both computers at the same time. But I should be able to have an open browser session on either my laptop or desktop without having to restart my instance each time. Isn't there a way to release the license once it is not being used?

Thank you for your time.

3 Comments
Discussion (3)2
Connectez-vous ou inscrivez-vous pour continuer