Apprendre à coder? Tout d'abord, apprenez à résoudre le problème.

Image de Unspalsh

La plupart des tutoriels que vous avez lus ou regardés auparavant font généralement une chose, l'alimentation à la cuillère.

C'est «OK» pour apprendre une nouvelle chose, mais pas bon quand vous devez résoudre une tâche réelle.

Une tâche consiste généralement à atteindre un objectif en surmontant un problème. Cet article dévoile le «conseil» le plus important pour tous les ingénieurs logiciels débutants.

TL; DR

Tout d'abord, résolvez le problème. Ensuite, écrivez le code. - John Johnson

En d'autres termes, élaborez la solution sur papier par étapes. Commencez ensuite à écrire le code correspondant. Ne vous embrouillez pas d'abord dans la conception du code et du logiciel.

Alors, que se passe-t-il?

Plusieurs fois, j'entends des débutants et des ingénieurs logiciels débutants dire: «Je pouvais suivre le didacticiel et j'ai cru comprendre le concept. Mais quand j'ai essayé de faire une chose similaire sur mon projet pour animaux de compagnie, je n'ai pas pu le faire. »

Ceci arrive pour deux raisons.

Tout d'abord, vous avez perdu votre train de pensée quelque part et n'avez pas pu établir de chaîne.

Deuxièmement, vous étiez tellement emmêlé dans le code que le principal problème que vous tentiez de résoudre est devenu flou.

Ce problème se produit également pour les ingénieurs logiciels et même les ingénieurs logiciels seniors.

La bonne chose est qu'avec l'expérience, vous savez quand vous arrêter ou faire une pause. Revenez ensuite au problème avec une prescription différente et trouvez une solution plus rapidement.

Beaucoup d'entre vous peuvent comprendre ceci: vous avez essayé si fort de résoudre un problème pendant des heures. Vous avez fait une pause ou dormi dessus, et la session suivante, la solution était là en quelques minutes.

Ce n'est pas magique. C'est regarder le problème d'un autre point de vue.

Illustrons avec un exemple

Vous devez effectuer une tâche - par exemple, créer un remboursement avec des paiements.

Vous obtenez le schéma de la base de données. Il s'agit d'une tâche principale et vous devez créer une API POST / remboursements qui peut créer le remboursement et ses paiements associés. La structure de la base de données est la suivante:

Un remboursement a toujours une raison, telle que «marchandise endommagée» ou «retard de livraison».

Vous pouvez discuter de la charge utile de l'API avec l'un des membres de l'équipe. Vous pourriez convenir de la charge utile JSON ci-dessous:

Le scénario habituel

Ce que la plupart des ingénieurs logiciels débutants feront, c'est de commencer à scanner la base de code, s'il y en a une. Ils commenceront immédiatement à écrire du code. S'il existe une culture de test en place, ils écrivent peut-être du code de test automatisé.

C'est là que glissent la plupart des débutants et même certains ingénieurs logiciels expérimentés. N'écrivez pas de code si vous n'avez pas résolu le problème.

L'étape appropriée

L'étape la plus appropriée consiste à s'asseoir et à résoudre le problème sur papier par étapes.

Vous vous demandez donc ce que vous devez faire. Vous venez avec un plan par étapes et le peaufiner.

Si vous avez une personne âgée dans votre équipe, vous pouvez valider vos étapes et obtenir des commentaires.

Cela réduira également le temps de révision du code. Vous avez tous deux déjà convenu de la modalité de la solution.

Alors comment faire

La tâche décrite précédemment consiste à écrire une API create / POST dans laquelle des remboursements avec paiements peuvent être créés.

Chaque remboursement peut avoir un maximum de deux paiements. L'un est de type «espèces» et l'autre de type «crédit». Il peut également s'agir d'un remboursement avec un seul paiement en espèces ou en crédit. Voici comment j'aurais écrit les étapes suivantes sur papier:

  1. Créer une méthode pour obtenir les données du contrôleur envoyées par l'utilisateur
  2. Validez toutes les entrées pour les valeurs, les types de remboursement et les raisons.
  3. Si toutes les validations réussissent, générez un nombre alphanumérique aléatoire de longueur 10 qui n'existe pas dans la table de remboursement (contrôle récursif)
  4. Si la validation ne répond pas avec un message d'échec de validation approprié, décidez de la structure de réponse
  5. Démarrer une transaction de base de données
  6. Insérez les valeurs liées au remboursement de deposit_nr, reason_reason, is_premium_customer dans la table de remboursement
  7. En cas d'insertion réussie, obtenez l'id de la dernière insertion
  8. Avec l'ID de remboursement, insérez les valeurs liées au paiement de fk_refund, fk_item, amount, is_cash dans la table de paiement
  9. Si tout s'est bien passé, validez la transaction de base de données
  10. En cas de problème, annulation de la transaction de base de données
  11. Répondez avec un message de réussite ou d'échec en fonction du succès de la transaction de base de données avec une structure appropriée
  12. Câblez le contrôleur et cette méthode

Suivez le plan par étapes, écrivez maintenant le code

Après avoir un plan étape par étape, vous pouvez commencer à écrire du code. Ensuite, vous pouvez approfondir les noms de méthode, comment obtenir la connexion à la base de données et d'autres détails.

Selon la langue et le framework, vous pouvez également décider où le code de validation doit rester.

Vous pouvez même passer des tests si l'entreprise et la culture le soutiennent et l'encouragent.

Lorsque votre solution est évidente dans votre esprit et que vous avez un plan d'action étape par étape sur papier, vous pouvez maintenant écrire du code.

Vous pouvez même briser les pièces de manière à faciliter la finition et le câblage.

Par exemple, la logique de test peut être quelque chose qui peut être écrit séparément et testé seul. Il s'agit de parties indépendantes qui peuvent être câblées ensemble pour former la solution.

Conclusion

Lorsque vous faites face à votre prochaine tâche, ne commencez pas à écrire du code dès le départ.

Tout d'abord, saisissez le problème, puis élaborez une solution en plusieurs étapes. Il vaut mieux le faire loin d'un écran sur papier.

Ensuite, affinez votre solution et discutez avec quelqu'un. Lorsque vous êtes satisfait, traduisez cette solution en code. C'est un peu méthodique mais très efficace.

Le code est toujours un support pour la solution, pas la solution elle-même.

Si vous êtes arrivé jusqu'ici, veuillez me laisser quelques "applaudissements" :).

Merci d'avoir lu!

Publié à l'origine sur geshan.com.np.