Hallo,

wenn ich z.B. eine große Funktion habe (hier die main) und dort Teilaufgaben wie z.B. irgendwas komplex zu sortieren in weitere Funktionen unterteile (sort funktion) die aber wirklich nur 1x aufgerufen werden, stellt sich mir die Frage, ob das sinnvoll ist, oder bad practice.

Ich tue das ganze nur aus dem Grund, um den Funktionsablauf übersichtlich zu halten. Letztendlich geht es um die Frage, wie "teuer" (inperformant) ein Funktionsaufruf ist.

Hier BEISPIELCODE kein Sinn dahinter, nur zur Verdeutlichung:

function sort(image, arr) { // Subfunktion
  const min = min_val;
  const max = max_val;
  for (let i = 0; i < arr.length; i++) {
    for (let k = 0; k <= arr[0].length; k++) {
      if (arr[i][k] < min) arr[i][k] = min;
      if (arr[i][k] > max) arr[i][k] = max;
    }
  }
  for (let i = 0; i < image.length; i++) {
    for (let k = 0; k < image[0].length; k++) {
      image[i][k] = arr[parseInt(image[i][k])];
    }
  }
  return image;
}

function main() {
  const array = new Uint8Array(20);
  crypto.getRandomValues(array);
  const arrayEncoded =  btoa(String.fromCharCode(...array)).split('');
  const arrayFiltered = arrayEncoded.filter(value => {
    switch (value){
    case "+" :
        return false;
    case "/" :
        return false;
    case "=" :
        return false;
    default :
      return true;
    }
  });
  const sortedArray = sort(arrayFiltered, arrayEncoded) // Hier wird unterfunktion aufgerufen
  var arr = new Uint8Array((sortedArray || 40) / 2)
  window.crypto.getRandomValues(arr)
  return Array.from(arr, dec2hex).join('')
}  

Versucht nicht, den Code zu verstehen, es sind einfach nur zusammengewürfelte Zeilen von irgendwo.