Cómo no ser un desarrollador mediocre

Hola Habr! Te presento la traducción del artículo "¡Cómo no ser un desarrollador mediocre!"
Dushyant Sabharwal. El artículo proporciona algunos consejos para principiantes y, posiblemente, algunos programadores experimentados que pueden ayudar a mejorar significativamente su profesionalismo y cambiar su actitud hacia el trabajo. Algunos de ellos pueden parecer comunes, pero los principiantes pueden encontrar algo útil para ellos.

Escribe más código


Si desea mejorar sus habilidades en cualquier ocupación, necesita practicar más; desafortunadamente, no hay soluciones alternativas. No importa cuántos artículos de programación lea por día o cuántas veces al día lea la documentación; no obtendrá resultados sin trabajar con sus propias manos. Los patrones de diseño que parecen difíciles de usar para muchos principiantes comenzarán a salir automáticamente de debajo de tus dedos cuando practiques aplicarlos en diferentes contextos.



Escribir pruebas


Cuando comencé a probar activamente mi código, me sorprendió mi falta de preparación para escribir pruebas de calidad. Escribir pruebas le enseñará a mirar su código de una manera nueva, porque cuando encuentre formas de descifrar su código, lo más probable es que comprenda la estructura y la lógica de su código más profundamente y encuentre algunos errores propios (incluso antes de que se ejecuten las pruebas, mientras se escriben) y tenga en cuenta que puede valer la pena poner algunas partes de su código en funciones auxiliares o hacer que algunas funciones sean más generalizadas; en algunos casos, incluso se verá obligado a hacer esto si descubre que su código no se puede probar.

Veamos un ejemplo:

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/es416825/


All Articles