Claude's ugly code
-
This is some code Claude gave me
if (key == "midi" && isDefined(data.midi)) ma.setAutomationDataFromObject(data.midi); else if (key == "macro" && isDefined(data.macro)) mh.setMacroDataFromObject(data.macro);This is how I would write it
if (!isDefined(data) || !isDefined(data[key])) return; if (key == "midi") ma.setAutomationDataFromObject(data[key]); else mh.setMacroDataFromObject(data[key]);Just sayin
-
-
@David-Healey Depends who (or what) is more likely to be reading the code in the future I guess.
-
@dannytaurus the first time I heard the term 'human-readable' gave me the heebee geebeez. lol
Who else is reading?...
lmaoo -
-
@David-Healey said in Claude's ugly code:
This is some code Claude gave me
if (key == "midi" && isDefined(data.midi)) ma.setAutomationDataFromObject(data.midi); else if (key == "macro" && isDefined(data.macro)) mh.setMacroDataFromObject(data.macro);This is how I would write it
if (!isDefined(data) || !isDefined(data[key])) return; if (key == "midi") ma.setAutomationDataFromObject(data[key]); else mh.setMacroDataFromObject(data[key]);Just sayin
Hey Claude, please update your behaviour to script more like @David-Healey . Don't make any mistakes this time.
-
@David-Healey You can ask Claude to analyse your previous project styles once for all so it automatically applies it next time
-
@HISEnberg said in Claude's ugly code:
Hey Claude, please update your behaviour to script more like @David-Healey . Don't make any mistakes this time.
Accurate

-
@ustk said in Claude's ugly code:
@David-Healey You can ask Claude to analyze your previous project styles once for all so it automatically applies it next time
Definitely you can, and it often shows up as a big improvement. I find after time that Claude, Codex (probably other agents too) start to "drift" towards their preferred style of coding anyways. They also have a tendency to over-comment and use special characters which HISE doesn't support. Example:
// ── Backend ─────────────────────────────────────────────────────────────Which renders like this:

I also see it drop things in scripts that are outside a namespace, and the namespace does not always match the script's name. Example file:
HiseScriptStandardsForMyAgents.js:namespace ScriptStandards { // Rules for following strict scripting standards inline function iDontFollowTheStandards(); // .... } iDontFollowTheStandards(); // End of HiseScriptStandardsForMyAgents.js:I wonder if more rigid guidelines around the HISE scripting standards in the HISE-MCP would help, but most important caveats are already featured in style-guides.ts and in the guidelines. Seems like Christoph did a bang-up job already and agents just have a tendency to cut corners over time to in order to complete the task.
