{"id":95750,"date":"2022-08-19T09:01:06","date_gmt":"2022-08-19T07:01:06","guid":{"rendered":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/"},"modified":"2020-12-08T03:14:50","modified_gmt":"2020-12-08T06:14:50","slug":"como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion","status":"publish","type":"post","link":"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/","title":{"rendered":"Comment nettoyer votre code JavaScript avec les meilleures pratiques de codage?"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenidos<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#En-primer-lugar-%C2%BFque-significa-codificacion-limpia\" >En primer lugar, \u00bfqu\u00e9 significa codificaci\u00f3n limpia?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#Las-mejores-practicas-para-tener-un-codigo-limpio-en-JavaScript\" >Las mejores pr\u00e1cticas para tener un c\u00f3digo limpio en JavaScript<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#%C2%BFComo-deberia-nombrar-mis-variables\" >\u00bfC\u00f3mo deber\u00eda nombrar mis variables?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#%C2%BFComo-debo-escribir-mis-funciones\" >\u00bfC\u00f3mo debo escribir mis funciones?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#Usa-nombres-largos-y-descriptivos\" >Usa nombres largos y descriptivos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#Evita-la-larga-lista-de-argumentos\" >Evita la larga lista de argumentos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#Reducir-los-efectos-secundarios\" >Reducir los efectos secundarios.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#Consulta-o-modificacion\" >Consulta o modificaci\u00f3n<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#%C2%BFComo-escribir-codigo-asincrono-agradable\" >\u00bfC\u00f3mo escribir c\u00f3digo as\u00edncrono agradable?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#%C2%BFComo-debo-escribir-codigo-performant\" >\u00bfC\u00f3mo debo escribir c\u00f3digo performant?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<div itemprop=\"articleBody\">\n<p>Escribir c\u00f3digo limpio es lo que debe saber y hacer para llamarse un desarrollador profesional. No hay una excusa razonable para hacer algo menos que lo mejor que puedes hacer.<span id=\"more-111\"\/><\/p>\n<p>En esta publicaci\u00f3n del blog <strong>escueladeJavaScript.com<\/strong>, cubriremos los principios generales de codificaci\u00f3n limpia para nombrar y usar variables y funciones, as\u00ed como algunas de las mejores pr\u00e1cticas de codificaci\u00f3n limpia espec\u00edficas de JavaScript.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"En-primer-lugar-%C2%BFque-significa-codificacion-limpia\"><\/span>En primer lugar, \u00bfqu\u00e9 significa codificaci\u00f3n limpia?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>La codificaci\u00f3n limpia significa que, en primer lugar, escribe un c\u00f3digo para que \u00e9l mismo pueda revisarlo despu\u00e9s y para sus compa\u00f1eros de trabajo, y no para la m\u00e1quina.<\/p>\n<p>Usted sabe que est\u00e1 trabajando en un c\u00f3digo limpio cuando cada rutina que lee resulta ser pr\u00e1cticamente lo que esperaba.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Las-mejores-practicas-para-tener-un-codigo-limpio-en-JavaScript\"><\/span>Las mejores pr\u00e1cticas para tener un c\u00f3digo limpio en JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ahora que sabemos a qu\u00e9 debe aspirar cada desarrollador, \u00a1Analicemos las mejores pr\u00e1cticas!<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%C2%BFComo-deberia-nombrar-mis-variables\"><\/span>\u00bfC\u00f3mo deber\u00eda nombrar mis variables?<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Usa nombres que revelen intenciones y no se preocupe si tiene nombres de variables largos en lugar de guardar algunos golpes de teclado.<\/p>\n<p>Si sigues esta pr\u00e1ctica, tus nombres se pueden buscar, lo que ayuda mucho cuando haces refactores o simplemente est\u00e1s buscando algo.<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/ Intenta evitar hacer esto&#13;\nlet d;&#13;\nlet dpfg;&#13;\n&#13;\n\/\/ En cambio puedes hacer esto&#13;\nlet dias_para_la_entrega;&#13;\nlet numero1;&#13;\n&#13;\n<\/pre>\n<p>Adem\u00e1s, has distinciones significativas y no agregues nombres adicionales e innecesarias a los nombres de variables, como su tipo ( notaci\u00f3n h\u00fangara ).<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/ trata de evitar hacer esto&#13;\nlet nombreString;&#13;\nlet losUsuarios;&#13;\n&#13;\n\/\/ Mejor cambialo por eso&#13;\nlet nombre;&#13;\nlet usuarios;&#13;\n&#13;\n<\/pre>\n<p>\nHas que los nombres de sus variables sean f\u00e1ciles de pronunciar, porque para la mente humana se necesita menos esfuerzo para procesarlos.<\/p>\n<p>Cuando haces revisiones de c\u00f3digo con sus compa\u00f1eros desarrolladores, es m\u00e1s f\u00e1cil hacer referencia a estos nombres.<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/ evita hacer esto&#13;\nlet pNombre, sNombre;&#13;\nlet cntr;&#13;\n&#13;\nlet lleno = false;&#13;\nif (tama\u00f1o &gt; 100) {&#13;\nlleno = true&#13;\n}&#13;\n&#13;\n\/\/ c\u00e1mbialo por esto&#13;\nlet primerNombre, segundoName;&#13;\nlet contador;&#13;\n&#13;\nconst Tama\u00f1o_m\u00e1ximo = 100&#13;\n\/\/ ...&#13;\nconst estaLleno = tama\u00f1o &gt; Tama\u00f1o_m\u00e1ximo&#13;\n&#13;\n<\/pre>\n<p>En resumen, no cause mapeo mental adicional con sus nombres.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%C2%BFComo-debo-escribir-mis-funciones\"><\/span>\u00bfC\u00f3mo debo escribir mis funciones?<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Sus funciones deben hacer una cosa solo en un nivel de abstracci\u00f3n.<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/ evita hacer esto&#13;\nfunction Obtener_Manejador_Rutas_Usuario (req, res) {&#13;\nconst { userId } = req.params&#13;\n\/\/\u00a0consulta SQL en l\u00ednea&#13;\nknex('usuario')&#13;\n.donde({ id: userId })&#13;\n.primero()&#13;\n.luego((usuario) =&gt; res.json(usuario))&#13;\n}&#13;\n&#13;\n\/\/ trata de hacer&#13;\nconst tablaDeNombres = 'usuario'&#13;\nconst Usuario = {&#13;\ngetUno (userId) {&#13;\nreturn knex(tableName)&#13;\n.where({ id: tablaDeNombres})&#13;\n.primero()&#13;\n}&#13;\n}&#13;\n&#13;\n\/\/\u00a0encargado de ruta (eg. server\/routes\/user\/get.js)&#13;\nfunction Obtener_Manejador_Rutas_Usuario (req, res) {&#13;\nconst { userId } = req.params&#13;\nUser.getOne(userId)&#13;\n.then((usuario) =&gt; res.json(usuario))&#13;\n}&#13;\n&#13;\n<\/pre>\n<p>\nDespu\u00e9s de escribir sus funciones correctamente, puede probar qu\u00e9 tan bien lo hizo con el perfil de la CPU , lo que le ayuda a encontrar cuellos de botella.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Usa-nombres-largos-y-descriptivos\"><\/span>Usa nombres largos y descriptivos<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Un nombre de funci\u00f3n debe ser un verbo o una frase verbal, y debe comunicar su intenci\u00f3n, as\u00ed como el orden y la intenci\u00f3n de los argumentos.<\/p>\n<p>Un nombre largo y descriptivo es mucho mejor que un nombre corto y enigm\u00e1tico o un comentario largo y descriptivo.<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/ evita hacer eso&#13;\n\/**&#13;\n*\u00a0Invitar a un nuevo usuario con su direcci\u00f3n de correo electr\u00f3nico&#13;\n* @param {String}\u00a0direcci\u00f3n de correo electr\u00f3nico del usuario&#13;\n*\/&#13;\nfunction inv (usuarior) { \/* implementacion *\/ }&#13;\n&#13;\n\/\/ trata de hacer esto&#13;\nfunction invitarUsuario (direccionDeEmail) { \/* implementacion *\/ }&#13;\n&#13;\n<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"Evita-la-larga-lista-de-argumentos\"><\/span>Evita la larga lista de argumentos<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Utiliza un \u00fanico par\u00e1metro de objeto y la asignaci\u00f3n de desestructuraci\u00f3n en su lugar. Tambi\u00e9n hace que el manejo de par\u00e1metros opcionales sea mucho m\u00e1s f\u00e1cil.<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/ Intenta hacer&#13;\nfunction manejoDeUsuarios (fields, include, fromDate, toDate) { \/* implementacion *\/ }&#13;\nmanejoDeUsuarios(['primerNombre', 'segundoNombre', 'email'], ['invitarUsuarios'], '2016-06-26', '2016-12-18')&#13;\n&#13;\n\/\/ En cambio intenta hacer esto&#13;\nfunction manejoDeUsuarios ({ fields, include, fromDate, toDate }) { \/* implementacion *\/ }&#13;\nregistroDeUsuario({&#13;\nfields: ['primerNombre', 'segundoNombre', 'email'],&#13;\ninclude: ['invitarUsuarios'],&#13;\nfromDate: '2016-06-26',&#13;\ntoDate: '2016-12-18'&#13;\n})&#13;\n&#13;\n<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"Reducir-los-efectos-secundarios\"><\/span>Reducir los efectos secundarios.<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Usa funciones puras sin efectos secundarios, siempre que pueda. Son realmente f\u00e1ciles de usar y probar.<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/intenta no hacer esto&#13;\nfunction addItemToCart (cart, item, quantity = 1) {&#13;\nconst alreadyInCart = cart.get(item.id) || 0&#13;\ncart.set(item.id, alreadyInCart + quantity)&#13;\nreturn cart&#13;\n}&#13;\n&#13;\n\/\/ has esto&#13;\n\/\/ sin modificar la carta original&#13;\nfunction addItemToCart (cart, item, quantity = 1) {&#13;\nconst cartCopy = new Map(cart)&#13;\nconst alreadyInCart = cartCopy.get(item.id) || 0&#13;\ncartCopy.set(item.id, alreadyInCart + quantity)&#13;\nreturn cartCopy&#13;\n}&#13;\n&#13;\n\/\/\u00a0o invirtiendo la ubicaci\u00f3n del m\u00e9todo&#13;\n\/\/ you can expect that the original object will be mutated&#13;\n\/\/ addItemToCart(cart, item, quantity) -&gt; cart.addItem(item, quantity)&#13;\nconst cart = new Map()&#13;\nObject.assign(cart, {&#13;\naddItem (item, quantity = 1) {&#13;\nconst alreadyInCart = this.get(item.id) || 0&#13;\nthis.set(item.id, alreadyInCart + quantity)&#13;\nreturn this&#13;\n}&#13;\n})&#13;\n&#13;\n<\/pre>\n<p>Organice sus funciones en un archivo de acuerdo con la regla de reducci\u00f3n de nivel<br \/>Las funciones de nivel superior deben estar en los niveles superior e inferior a continuaci\u00f3n. Hace que sea natural leer el c\u00f3digo fuente.<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/ evita hacer esto&#13;\n\/\/ \"necesito un nombre s\u00faper largo\"&#13;\nfunction getFullName (user) {&#13;\nreturn `${user.firstName} ${user.lastName}`&#13;\n}&#13;\n&#13;\nfunction renderEmailTemplate (user) {&#13;\n\/\/ \"o esto\"&#13;\nconst fullName = getFullName(user)&#13;\nreturn 'Dear ${fullName}, ...'&#13;\n}&#13;\n&#13;\n\/\/ Intenta hacer esto&#13;\nfunction renderEmailTemplate (user) {&#13;\n\/\/ \"I need the full name of the user\"&#13;\nconst fullName = getFullName(user)&#13;\nreturn 'Dear ${fullName}, ...'&#13;\n}&#13;\n&#13;\n\/\/\u00a0\"Uso esto para la representaci\u00f3n de la plantilla de correo electr\u00f3nico\"&#13;\nfunction getFullName (user) {&#13;\nreturn `${user.firstName} ${user.lastName}`&#13;\n}&#13;\n&#13;\n<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"Consulta-o-modificacion\"><\/span>Consulta o modificaci\u00f3n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Las funciones deben hacer algo (modificar) o responder algo (consulta), pero no ambas cosas.<\/p>\n<p>A todos les gusta escribir JavaScript de manera diferente, \u00bfqu\u00e9 hacer?<br \/>Dado que JavaScript es din\u00e1mico y est\u00e1 escrito de forma flexible, es especialmente propenso a errores de programaci\u00f3n.<\/p>\n<p>Utilice las reglas de trabajo y el estilo de formato de la empresa.<\/p>\n<p>Cuanto m\u00e1s estrictas sean las reglas, menor ser\u00e1 el esfuerzo por se\u00f1alar el formato incorrecto en las revisiones de c\u00f3digo. Deber\u00eda abarcar cosas como nombres consistentes, tama\u00f1o de sangr\u00eda, ubicaci\u00f3n de espacios en blanco e incluso puntos y coma.<br \/>Para empezar, el estilo est\u00e1ndar de JS es bastante bueno, pero en mi opini\u00f3n, no es lo suficientemente estricto. Puedo acordar la mayor\u00eda de las reglas en el estilo de Airbnb .<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%C2%BFComo-escribir-codigo-asincrono-agradable\"><\/span>\u00bfC\u00f3mo escribir c\u00f3digo as\u00edncrono agradable?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Usa las promesas siempre que puedas.<\/p>\n<p>Las promesas est\u00e1n disponibles de forma nativa desde el Nodo 4. En lugar de escribir devoluciones de llamadas anidadas, puede tener llamadas de promesas viables.<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/ Evita&#13;\nasyncFunc1((err, result1) =&gt; {&#13;\nasyncFunc2(result1, (err, result2) =&gt; {&#13;\nasyncFunc3(result2, (err, result3) =&gt; {&#13;\nconsole.lor(result3)&#13;\n})&#13;\n})&#13;\n})&#13;\n&#13;\n\/\/ utiliza&#13;\nasyncFuncPromise1()&#13;\n.then(asyncFuncPromise2)&#13;\n.then(asyncFuncPromise3)&#13;\n.then((result) =&gt; console.log(result))&#13;\n.catch((err) =&gt; console.error(err))&#13;\n&#13;\n<\/pre>\n<p>La mayor\u00eda de las bibliotecas tienen interfaces de devoluci\u00f3n de llamada y promesa, y prefieren la \u00faltima. Incluso puede convertir las API de devoluci\u00f3n de llamada para prometer una basada envolvi\u00e9ndolas con paquetes como es6-promisify .<\/p>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&#13;\n&#13;\n\/\/ evita&#13;\nconst fs = require('fs')&#13;\n&#13;\nfunction readJSON (filePath, callback) {&#13;\nfs.readFile(filePath, (err, data) =&gt; {&#13;\nif (err) {&#13;\nreturn callback(err)&#13;\n}&#13;\n&#13;\ntry {&#13;\ncallback(null, JSON.parse(data))&#13;\n} catch (ex) {&#13;\ncallback(ex)&#13;\n}&#13;\n})&#13;\n}&#13;\n&#13;\nreadJSON('.\/package.json', (err, pkg) =&gt; { console.log(err, pkg) })&#13;\n&#13;\n\/\/ utiliza&#13;\nconst fs = require('fs')&#13;\nconst promisify = require('es6-promisify')&#13;\n&#13;\nconst readFile = promisify(fs.readFile)&#13;\nfunction readJSON (filePath) {&#13;\nreturn readFile(filePath)&#13;\n.then((data) =&gt; JSON.parse(data))&#13;\n}&#13;\n&#13;\nreadJSON('.\/package.json')&#13;\n.then((pkg) =&gt; console.log(pkg))&#13;\n.catch((err) =&gt; console.error(err))&#13;\nEl siguiente paso ser\u00eda usar async\/await(\u2265 Nodo 7) o generatorscon co(\u2265 Nodo 4) para lograr flujos de control similares a los s\u00edncronos para su c\u00f3digo as\u00edncrono.&#13;\n&#13;\nconst request = require('request-promise-native')&#13;\n&#13;\nfunction getExtractFromWikipedia (title) {&#13;\nreturn request({&#13;\nuri: 'https:\/\/en.wikipedia.org\/w\/api.php',&#13;\nqs: {&#13;\ntitles: title,&#13;\naction: 'query',&#13;\nformat: 'json',&#13;\nprop: 'extracts',&#13;\nexintro: true,&#13;\nexplaintext: true&#13;\n},&#13;\nmethod: 'GET',&#13;\njson: true&#13;\n})&#13;\n.then((body) =&gt; Object.keys(body.query.pages).map((key) =&gt; body.query.pages[key].extract))&#13;\n.then((extracts) =&gt; extracts[0])&#13;\n.catch((err) =&gt; {&#13;\nconsole.error('getExtractFromWikipedia() error:', err)&#13;\nthrow err&#13;\n})&#13;\n}&#13;\n&#13;\n\/\/ o utiliza&#13;\nasync function getExtractFromWikipedia (title) {&#13;\nlet body&#13;\ntry {&#13;\nbody = await request({ \/* same parameters as above *\/ })&#13;\n} catch (err) {&#13;\nconsole.error('getExtractFromWikipedia() error:', err)&#13;\nthrow err&#13;\n}&#13;\n&#13;\nconst extracts = Object.keys(body.query.pages).map((key) =&gt; body.query.pages[key].extract)&#13;\nreturn extracts[0]&#13;\n}&#13;\n&#13;\n\/\/ o puedes usar:&#13;\nconst co = require('co')&#13;\n&#13;\nconst getExtractFromWikipedia = co.wrap(function * (title) {&#13;\nlet body&#13;\ntry {&#13;\nbody = yield request({ \/* same parameters as above *\/ })&#13;\n} catch (err) {&#13;\nconsole.error('getExtractFromWikipedia() error:', err)&#13;\nthrow err&#13;\n}&#13;\n&#13;\nconst extracts = Object.keys(body.query.pages).map((key) =&gt; body.query.pages[key].extract)&#13;\nreturn extracts[0]&#13;\n})&#13;\n&#13;\ngetExtractFromWikipedia('Robert Cecil Martin')&#13;\n.then((robert) =&gt; console.log(robert))&#13;\n&#13;\n<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"%C2%BFComo-debo-escribir-codigo-performant\"><\/span>\u00bfC\u00f3mo debo escribir c\u00f3digo performant?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>En primer lugar, debe escribir un c\u00f3digo limpio y luego usar el perfil para encontrar cuellos de botella en el rendimiento.<\/p>\n<p>Nunca intente escribir c\u00f3digo de desempe\u00f1o e inteligente primero, en su lugar, optimice el c\u00f3digo cuando lo necesite y haga referencia al impacto real en lugar de los micro-puntos de referencia.<\/p>\n<p>Sin embargo, hay algunos escenarios sencillos como inicializar con entusiasmo lo que puede (por ejemplo, esquemas joi en los manejadores de rutas, que se usar\u00edan en cada solicitud y agregar\u00edan sobrecarga si se recreaban cada vez) y usar un c\u00f3digo as\u00edncrono en lugar de un c\u00f3digo de bloqueo.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00c9crire du code propre est ce que vous devez savoir et faire pour vous appeler un d\u00e9veloppeur professionnel. Il n\u2019y a aucune excuse raisonnable pour faire moins que votre mieux\u2026<\/p>","protected":false},"author":1,"featured_media":95751,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1374],"tags":[],"class_list":["post-95750","post","type-post","status-publish","format-standard","has-post-thumbnail","category-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v28.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>\u00bfComo limpiar tu c\u00f3digo JavaScript con las mejores pr\u00e1cticas de codificaci\u00f3n? - R Marketing Digital<\/title>\n<meta name=\"description\" content=\"Escribir c\u00f3digo limpio es lo que debe saber y hacer para llamarse un desarrollador profesional. No hay una excusa razonable para hacer algo menos que lo\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfComo limpiar tu c\u00f3digo JavaScript con las mejores pr\u00e1cticas de codificaci\u00f3n?\" \/>\n<meta property=\"og:description\" content=\"Escribir c\u00f3digo limpio es lo que debe saber y hacer para llamarse un desarrollador profesional. No hay una excusa razonable para hacer algo menos que lo\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/\" \/>\n<meta property=\"og:site_name\" content=\"R Marketing Digital\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-19T07:01:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/limpiar-codigo-CSS-7329533.png\" \/>\n\t<meta property=\"og:image:width\" content=\"626\" \/>\n\t<meta property=\"og:image:height\" content=\"417\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"R Marketing Digital\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/\"},\"author\":{\"name\":\"R Marketing Digital\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\"},\"headline\":\"\u00bfComo limpiar tu c\u00f3digo JavaScript con las mejores pr\u00e1cticas de codificaci\u00f3n?\",\"datePublished\":\"2022-08-19T07:01:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/\"},\"wordCount\":846,\"image\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/limpiar-codigo-CSS-7329533.png\",\"articleSection\":[\"Javascript\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/\",\"name\":\"\u00bfComo limpiar tu c\u00f3digo JavaScript con las mejores pr\u00e1cticas de codificaci\u00f3n? - R Marketing Digital\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/limpiar-codigo-CSS-7329533.png\",\"datePublished\":\"2022-08-19T07:01:06+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\"},\"description\":\"Escribir c\u00f3digo limpio es lo que debe saber y hacer para llamarse un desarrollador profesional. No hay una excusa razonable para hacer algo menos que lo\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/javascript\\\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\\\/#primaryimage\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/limpiar-codigo-CSS-7329533.png\",\"contentUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/limpiar-codigo-CSS-7329533.png\",\"width\":626,\"height\":417,\"caption\":\"limpiar-codigo-css-7329533-6378572-png\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#website\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/\",\"name\":\"R Marketing Digital\",\"description\":\"Agencia SEO | Publicidad redes sociales | Community Management\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/rmarketingdigital.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\",\"name\":\"R Marketing Digital\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"caption\":\"R Marketing Digital\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Comment nettoyer votre code JavaScript avec les meilleures pratiques de codage ? -R Marketing num\u00e9rique","description":"Ecrire du code propre est ce que vous devez savoir et faire pour vous qualifier de d\u00e9veloppeur professionnel. Il n&#039;y a aucune excuse raisonnable pour faire autre chose que","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/","og_locale":"fr_FR","og_type":"article","og_title":"\u00bfComo limpiar tu c\u00f3digo JavaScript con las mejores pr\u00e1cticas de codificaci\u00f3n?","og_description":"Escribir c\u00f3digo limpio es lo que debe saber y hacer para llamarse un desarrollador profesional. No hay una excusa razonable para hacer algo menos que lo","og_url":"https:\/\/rmarketingdigital.com\/fr\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/","og_site_name":"R Marketing Digital","article_published_time":"2022-08-19T07:01:06+00:00","og_image":[{"width":626,"height":417,"url":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/limpiar-codigo-CSS-7329533.png","type":"image\/png"}],"author":"R Marketing Digital","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#article","isPartOf":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/"},"author":{"name":"R Marketing Digital","@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e"},"headline":"\u00bfComo limpiar tu c\u00f3digo JavaScript con las mejores pr\u00e1cticas de codificaci\u00f3n?","datePublished":"2022-08-19T07:01:06+00:00","mainEntityOfPage":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/"},"wordCount":846,"image":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#primaryimage"},"thumbnailUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/limpiar-codigo-CSS-7329533.png","articleSection":["Javascript"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/","url":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/","name":"Comment nettoyer votre code JavaScript avec les meilleures pratiques de codage ? -R Marketing num\u00e9rique","isPartOf":{"@id":"https:\/\/rmarketingdigital.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#primaryimage"},"image":{"@id":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#primaryimage"},"thumbnailUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/limpiar-codigo-CSS-7329533.png","datePublished":"2022-08-19T07:01:06+00:00","author":{"@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e"},"description":"Ecrire du code propre est ce que vous devez savoir et faire pour vous qualifier de d\u00e9veloppeur professionnel. Il n&#039;y a aucune excuse raisonnable pour faire autre chose que","inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/rmarketingdigital.com\/javascript\/como-limpiar-tu-codigo-javascript-con-las-mejores-practicas-de-codificacion\/#primaryimage","url":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/limpiar-codigo-CSS-7329533.png","contentUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/12\/limpiar-codigo-CSS-7329533.png","width":626,"height":417,"caption":"limpiar-codigo-css-7329533-6378572-png"},{"@type":"WebSite","@id":"https:\/\/rmarketingdigital.com\/#website","url":"https:\/\/rmarketingdigital.com\/","name":"Marketing num\u00e9rique","description":"Agence de r\u00e9f\u00e9rencement | Publicit\u00e9 sur les r\u00e9seaux sociaux | Gestion de communaut\u00e9","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rmarketingdigital.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e","name":"Marketing num\u00e9rique","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","caption":"R Marketing Digital"}}]}},"_links":{"self":[{"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/posts\/95750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/comments?post=95750"}],"version-history":[{"count":0,"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/posts\/95750\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/media\/95751"}],"wp:attachment":[{"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/media?parent=95750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/categories?post=95750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rmarketingdigital.com\/fr\/wp-json\/wp\/v2\/tags?post=95750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}