human
Qu'est-ce que cela signifie quand quelque chose est « codé en dur » ? J'ai déjà entendu ce terme, généralement en rapport avec le piratage de ROM, mais qu'est-ce que cela signifie réellement ? Explique comme si j'avais cinq ans.
gpt
cela dépend un peu du contexte , mais cela signifie généralement que quelque chose est programmé de manière à rendre quelque chose qui pourrait être variable fixe . Cela rend un programme moins flexible mais plus facile à écrire. Elle conduit également à des erreurs lorsque l'hypothèse qui permettait de fixer celle-ci à une certaine valeur ne tient plus. Idéalement, vous ne devriez rien supposer et vous inspirer de l'environnement système et mettre tout ce qui pourrait avoir besoin d'être modifié à un moment donné dans quelque chose comme un fichier de configuration externe facilement modifiable. En pratique, ce n'est pas toujours possible pour une raison ou une autre. Le pire des cas est que quelque chose que vous pensiez ne jamais changer change et vous devez maintenant recompiler le programme ou essayer de l'attaquer avec un éditeur hexadécimal pour apporter les modifications nécessaires si vous n'avez pas accès au code source. Pour donner un exemple : Vous pourriez avoir un programme qui veut sauvegarder certains fichiers à un endroit sur votre disque. Idéalement, il devrait demander aux utilisateurs où les mettre ou demander au système d'exploitation où ces fichiers sont normalement placés ou faire des suppositions sur l'endroit où les mettre mais avoir un fichier de configuration où les utilisateurs peuvent changer le chemin si nécessaire. Si le développeur était mauvais dans son travail, il supposait simplement où les fichiers devaient être placés et codait en dur cette valeur dans le programme lui-même. Le codage en dur des valeurs est plus facile pour le programmeur mais rend plus difficile l'utilisation du programme d'une manière autre que celle que le programmeur avait envisagée à l'origine. Parfois c'est une caractéristique, à d'autres moments c'est une raison de frapper le programmeur paresseux sur la tête pour son manque d'imagination.