Excuses si la question n'est pas trop bonne, ceci est mon premier message.Pourquoi une programmation défensive est-elle nécessaire si le code source est caché?
Je sais que dans Java la programmation défensive est une bonne chose à faire, car elle arrête les valeurs des variables qui sont changées si elles ne sont pas supposées l'être. Cependant, si un programme est compilé, est-ce nécessaire?
Un exemple de ce que je veux dire est la suivante:
Pour mon cursus universitaire, je devais créer un navigateur Web en utilisant Swing and AWT en Java. Ce navigateur a été créé uniquement par moi, et quand il a été soumis, j'ai dû envoyer un fichier JAR exécutable, et les fichiers .java (seulement pour qu'ils puissent être marqués, ils ne seront pas édités). De mon point de vue de la programmation, je savais que je ne ferais aucune des choses que la programmation défensive est censée empêcher. Le code source ne sera jamais non plus public ou édité (que ce soit publié ou non pour un usage public). Par conséquent, pourquoi la programmation défensive serait-elle nécessaire vu que vous ne pouvez pas obtenir le code source à partir d'un fichier exécutable? Je pense que je ne l'utiliserais que parce que ce sont les normes acceptées pour la programmation.
J'espère que je l'ai bien expliqué.
Merci.
un JAR est réversible – Ollaw
Mais ma question reste valable pour tout langage de programmation, pas seulement Java. Un fichier .exe aurait toujours le même point. – joshsp98
https://en.wikipedia.org/wiki/Kerckhoffs%27s_principle – SLaks