eXtreme Go Horse | eXtreme Go Horse | OutSystems Edition · v. 2026 13 axiomas · não-oficial

XGH -OS

Os 13 axiomas TrueChange · AI Mentor · Forge · LifeTime · ODC
  1. 01

    O Architecture Canvas tem 4 camadas. O XGH-OS usa uma e meia.

    End-User com tudo lá dentro: screens, blocks, server actions, entities, integrações REST. Foundation é onde vão as Static Entities que ninguém soube onde meter. Core é palavra que o XGH-OS já leu mas não usa. O Discovery abre-se uma vez para ver o aranhol de setas — depois disso, só em apresentação para o cliente.

  2. 02

    Aggregate dentro de For Each é o batimento cardíaco do XGH-OS.

    A documentação grita “aggregate or SQL query inside a cycle” há mais de uma década. O AI Mentor sinaliza a vermelho. O Architecture Dashboard contabiliza. O dev XGH-OS faz 1-CP na mesma. O problema do N+1 não é um bug — é uma escolha estética.

  3. 03

    Refresh References. Re-1-CP. Repeat.

    “Outdated Producer” → Refresh All → 1-CP → “Outdated Producer” → Refresh All → 1-CP. Se entrar em ciclo, há referência circular entre módulos — solução XGH-OS: aceitar e seguir. O ciclo é o método.

  4. 04

    Quando o IN operator não existe, o XGH-OS concatena strings com #.

    A Idea para ter IN em Aggregates tem 500+ likes desde 2015. O XGH-OS já percebeu que nunca vai sair e segue com Index("#"+String_Join.Text+"#", "#"+Entity.Id+"#") <> -1. A performance é problema do otimizador da Aurora.

  5. 05

    If StatusId = 1: o XGH-OS não decora nomes de Static Entities.

    Static Entities existem precisamente para evitar magic numbers no código. O XGH-OS respeita o princípio: não usa magic numbers, usa magic Ids. Toda a gente sabe que 1 é “Pendente”, não é? E que 7 é “Cancelado”. Exceto em PRD, onde 7 é “Aprovado” porque alguém renumerou em 2019 e ninguém atualizou os 47 IFs espalhados pelos módulos.

  6. 06

    Toda Server Action grande do XGH-OS termina em FinalResult2.

    Aux, Aux2, Temp, Temp_OK, X, Y, Result, Result2, FinalResult, FinalResult_REAL, FinalResult_FINAL, FinalResult_USE_THIS_ONE. Nomenclatura é privilégio de quem tem tempo. O XGH-OS tem prazo.

  7. 07

    Site Property é a variável global do XGH-OS.

    Configurar algo sem deploy? Site Property. Passar valor entre Timer e Screen? Site Property. Guardar o último Id processado para retomar amanhã? Site Property. Feature flag? Site Property. Service Center → Site Properties → Edit Value é o painel de admin oculto da empresa, gerido por quem tem acesso, não por quem decide.

  8. 08

    O TrueChange tem três cores. O AI Mentor faz sugestões. O XGH-OS fecha a aba.

    Vermelho não 1-CP. Amarelo 1-CP. Os 247 warnings amarelos são parte do tema do Service Studio. “Avoid Aggregate inside cycle.” “Cyclic reference detected.” “Avoid large session variables.” Sugestão. Sugestão. Sugestão.

  9. 09

    Se o Last Modified By não for teu, o erro também não é.

    A primeira ação do XGH-OS perante uma exception em produção: abrir a Server Action, consultar o Last Modified By no painel de propriedades, ler o nome. Se for de um colega da equipa — fecha o Service Studio. Se for de alguém que já saiu da empresa — fecha mais depressa. O AI Mentor tem o mesmo workflow: abre-se o finding, vê-se o módulo, vê-se a equipa dona, e se não for a tua, Suppress. O Last Modified By é o git blame do XGH-OS. E o álibi.

  10. 10

    Forge é open source: baixa, copia, esquece o autor.

    Componente de 2018, sem versão para Reactive, autor saiu da empresa em 2020? Baixa o .oap, descompila, copia o JavaScript do Web Block, cola num módulo próprio. “Customizámos para a nossa realidade.” (E partiu no upgrade para ODC, mas isso é problema do trimestre seguinte.)

  11. 11

    1-CP em produção é uma forma de coragem.

    O LifeTime existe. As Deployment Zones existem. Os approvals existem. O XGH-OS sabe disto e sabe também que basta trocar o ambiente no canto inferior do Service Studio para o 1-CP apontar diretamente a PRD. “É só um hotfix urgente.” “É só um Site Property.” “É só uma Static Entity.” Quem nunca? Se respondeste “eu”, parabéns — não és XGH-OS, és gestor.

  12. 12

    Audit log? O Service Center é o nosso Datadog.

    A tabela OSLOG_GENERAL cresce a 4 GB por mês. LogMessage("entrei aqui") é a única instrumentação. Dashboards de observabilidade são comprados em Q4 e abandonados em Q1. Quando um cliente reporta bug em produção, abre-se o Service Center, filtra-se pela hora aproximada, e reza-se para o log estar lá.

  13. 13

    Migração para ODC: tudo na sprint 1, e era isso.

    Traditional Web deixou de existir — reescreve-se em Reactive. SQL Server passou a Aurora PostgreSQL — reescrevem-se as queries (case-insensitive deixa de ser default — boa sorte). SOAP virou REST — reescrevem-se as integrações. Estimativa do XGH-OS: “umas duas semanas”. Realidade: 9 meses, duas demissões, e um post-mortem de 47 páginas.