Browser-based access
The demo is provided through your browser once access is released.
Already have demo access? Log in here
Experience structured, deterministic refactoring of legacy code
Preview access
The demo is provided through your browser once access is released.
No setup, no configuration required.
Experience structured refactoring in a controlled environment.
Selected capabilities to demonstrate workflow and impact.
New here?
Fill in the form to register your interest in the ObjectScript^REFACTOR demo. We will contact you by email as soon as access is available.
Prefer to discuss your system first? Contact us
In the Demo
The demo shows the core refactoring approach of ObjectScript^REFACTOR. It focuses on understanding structure, applying controlled refactoring steps, and using before-and-after results.
Explore how ObjectScript^REFACTOR analyzes structure in legacy code.
See recurring refactoring patterns applied step by step in a controlled and transparent way.
Compare original and refactored code to understand the impact of each transformation.
Your code remains within the application and is not transmitted or stored outside the tool.
Proven Practice
Explore three concrete examples of how legacy ObjectScript can be transformed into clearer, more explicit code.
Legacy code.
Process(Id)
s X=$G(^O(Id,0))
s A=$P(X,"^",1),B=$P(X,"^",2),C=$P(X,"^",3)
s ^R(Id)=B_C q:A="A" s ^R(Id)=C_B q:A="B"
s ^R(Id)=A_B_C q:1
Evolved.
Process(Id)
set X = $Get(^O(Id, 0))
set A = $Piece(X, "^", 1)
set B = $Piece(X, "^", 2)
set C = $Piece(X, "^", 3)
set ^R(Id) = B _ C
if (A = "A") {
quit
}
set ^R(Id) = C _ B
if (A = "B") {
quit
}
set ^R(Id) = A _ B _ C
quit
Legacy code.
s:x=15 y="abc",z=132 s x=1
Evolved.
if (x = 15) {
set y = "abc"
set z = 132
}
set x = 1
Legacy code.
s x=1,y=2,z=3 d abc^rout i s z=2 d xyz^rout
s b=y=z i b d def^rout w x+y+z
Evolved.
set x = 1
set y = 2
set z = 3
do abc^rout
if ($TEST) {
set z = 2
do xyz^rout
}
set b = (y = z)
set $TEST = b
if ($TEST) {
do def^rout
write x + y + z
}