Comment ne PAS être un développeur médiocre

Bonjour, Habr! Je vous présente la traduction de l'article "Comment ne pas être un développeur médiocre!"
Dushyant Sabharwal. L'article fournit quelques conseils aux débutants et, éventuellement, à certains programmeurs expérimentés qui peuvent aider à améliorer considérablement leur professionnalisme et à changer leur attitude envers le travail. Certains d'entre eux peuvent sembler banals, mais les débutants peuvent trouver quelque chose d'utile pour eux-mêmes.

Écrivez plus de code


Si vous souhaitez améliorer vos compétences dans n'importe quelle profession, vous devez vous entraîner davantage - il n'y a malheureusement pas de solution. Peu importe le nombre d'articles de programmation que vous lisez par jour ou le nombre de fois par jour que vous lisez la documentation - vous n'obtiendrez pas de résultats sans travailler de vos propres mains. Les modèles de conception qui semblent difficiles à utiliser pour de nombreux débutants commenceront automatiquement à voler sous vos doigts lorsque vous vous exercerez à les appliquer dans différents contextes.



Ecrire des tests


Lorsque j'ai commencé à tester activement mon code, j'ai été surpris de mon manque de préparation à l'écriture de tests de qualité. L'écriture de tests vous apprendra à regarder votre code d'une manière nouvelle, car lorsque vous trouverez des moyens de casser votre code, vous comprendrez très probablement la structure et la logique de votre code plus profondément et trouverez certaines de vos propres erreurs (même avant l'exécution des tests, pendant leur écriture) et notez qu'il peut être utile de mettre certaines parties de votre code dans des fonctions auxiliaires ou de rendre certaines fonctions plus généralisées - dans certains cas, vous serez même obligé de le faire si vous trouvez que votre code ne peut pas être testé.

Regardons un exemple:

function postData(data) {
 boolean valid = true;
 //   
 if (data === undefined) {
   valid = false;
 }
//    
 if (!regex(data['email']) {
   valid = false;
 }
//   
 if (data['password'].length < 8) {
   valid = false;
 }
if (valid) {
  http
   .post(`example.com/user/create`, data)
   .then((response) => {
    //   
    this.users.append(response.userid);
   })
   .catch((error) => {
    //    
   });
 } else {
   showValidationError();
 }
}

postData : , , . postData . , :

function postData(data) {
 return http
   .post(`example.com/user/create`, data);
}

function validate(data) {
 //   
 if (data === undefined) {
   return false;
 }
//    
 if (!regex(data['email']) {
   return false;
 }
//   
 if (data['password'].length >= 8) {
   return false;
 }
  return true;
}

function appendUsers(userId) {
  this.users.append(response.userid);
}

function main() {
 if (validate(data)) {
  postData(data)
   .then(data => appendToList(data.userId))
   .catch(error => handleError(error))
 } else {
  showValidationError();
 }
}

, — , , .


. , - API, , , , - .

open-source


open-source , , . . . , open-source . , open-source .


-, , , , , . , 100%, - .


, . product manager-, — , ! , , !


/ . , , , . , , . , , , .




, , API, ( ) . , .

var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
})

, vue.js. , :

  1. new? «» ?
  2. , el id , #? , , ?
  3. data vue. ?

, , , .


, . , , , — ! , . API. , , , .


( , , ) , . . , , API.

. , . , , , .

, , : hackerrank, leetcode, codingame .


, , . stackoverflow, . medium , . github. , , .

-


API , , : « — . ». , . , DRY, , , .. (, ), . , , , , « », .


, , , . , — , !

Source: https://habr.com/ru/post/fr416825/


All Articles