C'est la première fois que je fournirai du code pour un projet Freelance (application Web) et, étant donné que je n'ai pas beaucoup d'expérience de code d'expédition, j'ai du mal à décider si mon programme est prêt pour le déploiement ou non.
Je crois comprendre qu'un code de niveau de production doit avoir les caractéristiques suivantes:
Certaines de ces caractéristiques sont spécifiques au programme lui-même, tandis que d'autres sont plus liées à l'environnement (en utilisant plusieurs clusters). Cependant, même les caractéristiques dépendantes de l'environnement affectent la manière dont le programme est conçu.
Ma question est alors: Quelles sont les autres caractéristiques qui rendent le code de production si différent du code non destiné à la production?
Juste pour réduire la portée de la question, veuillez vous concentrer uniquement sur applications Web.
Edit: Je vais essayer de réduire la portée en demandant des caractéristiques spécifiques à ma situation. En tant que pigiste, j'étais responsable de tout d'acheter un VPS, de la configurer pour écrire le code, pour le déployer. Bien que le projet et sa configuration soient bien documentés, le client ne sera pas en mesure de le maintenir. L'application n'est pas complexe, mais dépend de nombreux composants externes, ce qui le rend vraiment sujet à la rupture si ces composants changent/disparaissent. L'objectif est de mettre en place un service qui serait capable de durer aussi longtemps que possible sans l'intervention du client.
" Code-qualité de la production " est tout autre utilisateur, qui ne vous est ...
QUE IS IT.
Certaines personnes ont besoin de la tolérance absolue faute. D'autres ne me dérange pas autant si certaines données sont perdues quand il y a un accident ... en supposant qu'ils voient des accidents très rarement. Il n'y a pas de qualités durcissants ou exigences. Et aucun soucis des clients au sujet de la couverture des tests, ce qu'ils se soucient est à peu près les trois points ci-dessus. la couverture de test est un outil (un des nombreux), vous pouvez utiliser pour y arriver, mais beaucoup de logiciels, certains encore bon, a été construit avec rien d'autre que des tests manuels.
Quel que soit le logiciel que vous construisez, les exigences sont entre vous et votre client et si vous construisez des logiciels pour la consommation générale, puis choisir un ou quelques groupes cibles et ne pas essayer d'être tout à tout le monde. Essayer de trouver une sorte de moule générique me semble assez stupide.
Au lieu de cela, d'essayer de prédire ou deviner quand votre logiciel sera prêt pour la production, pourquoi travaillez-vous pas avec votre client? Donnez-leur un aperçu, mais explique qu'il ne soit pas prêt pour la production. Publier sur votre propre serveur et demandez-leur de l'utiliser, fouiner et vous donner des commentaires. Continuer à travailler avec eux jusqu'à ce qu'ils soient satisfaits de ce que vous leur avez donné. En d'autres termes, ils vous diront quand il est prêt pour la production.