Hablando de varios estilos de programación de funciones de función en el proceso de programación de JavaScript

Autor fuente: https://ost.51cto.com/user/posts/16066420

declaración

Las funciones en la programación de JavaScript son un punto muy interesante, las funciones de JavaScript son muy diferentes de otros lenguajes como C y Java. Para los estudiantes que se transfieren de otros lenguajes de programación, puede haber ciertas "trampas", como la diferencia entre la función función y la función =>. La ocupación de la función función esta palabra clave, etc.

Este conocimiento puede usarse en los siguientes casos, pero no discutiré estas gramáticas debido a las limitaciones de espacio, solo discutiré los problemas de estilo de los diferentes métodos de codificación.

Declaración del entorno de prueba

Herramienta de prueba: DevEco Studio 3.1.1 Release Versión de compilación: 3.1.0.501
Plataforma de prueba: máquina virtual HarmonyOS Api9 x86
Lenguaje de prueba: ArkTS (solo prueba la parte de gramática de JavaScript)

Introducción

Debido a la flexibilidad del estilo de programación de JavaScript. Una función de suma simple se puede expresar en muchos estilos diferentes en JavaScript.
El editor lo expresará de muchas maneras diferentes, como programación funcional, programación orientada a objetos, programación en cadena orientada a objetos y programación declarativa.
El siguiente código es solo para el efecto de lanzar un ladrillo y atraer jade, y no representa el código de desarrollo real, ni representa todos los estilos de codificación actuales. Solo hablo de algunos que conozco. En el proceso de desarrollo real, cada estilo de codificación también tendrá más estilos subdivididos.

programación procedimental

el código

// 过程式编程
function add(...is: number[]) {
  // 总和
  let sum = 0;
  // 求和
  for (let index = 0; index < is.length; index++) 
    sum += is[index];
  // 返回总和
  return sum;
}

/**
 * 使用样例
 * console.log(add(11, 22, 33));
 */

interpretar

La programación procedimental es el método de programación más simple, crudo y directo, y la programación procedimental es compatible con todos los lenguajes de programación convencionales.

La programación de procedimientos a menudo requiere que los programadores tengan una excelente alfabetización en programación y un conocimiento profundo del negocio para garantizar la capacidad de mantenimiento y la escalabilidad continuas del código.

No se recomienda usar este estilo de codificación en partes donde el negocio es incierto, la lógica de implementación cambia con frecuencia y la solución de implementación es inestable, porque fácilmente puede hacer que el código se salga de control.

Sin embargo, en términos de implementación de algoritmos, el autor recomienda encarecidamente que utilice este estilo de codificación. Es simple, confiable y le ahorra mucho cerebro al programador.

programación al curry

el código

// 自动柯里化机,可以自动把函数转化为柯里化风格。
function curry(fn) {
  return function curried(...args) {
    if (args.length >= fn.length) {
      return fn.apply(this, args);
    } else {
      return function (...nextArgs) {
        return curried.apply(this, args.concat(nextArgs));
      }
    }
  }
}
// 获得转化后的函数
export const curriedAdd = curry(add2);

/**
 * 使用样例
 * console.log(curriedAdd(1)(2)); // 3
 * console.log(curriedAdd(1, 2)); // 3
 * console.log(curriedAdd(1)(2, 3)); // 3
 */

interpretar

Una característica distintiva de la programación curry es el anidamiento continuo de funciones, que es un método de programación muy popular para el desarrollo front-end. Sin embargo, el editor se opone firmemente a este método de programación por las siguientes razones:

  • Aunque la programación curry mejora la flexibilidad del desarrollo, también reduce la modificabilidad de las funciones, lo que puede afectar a todo el cuerpo en refactorizaciones posteriores.
  • Una gran característica de curry es el anidamiento de funciones, que no se ajusta a la filosofía de programación "nunca anida". El anidamiento puede reducir drásticamente la legibilidad.

Si realmente tiene la intención de utilizar el estilo de programación al curry. ¡El editor recomienda que escribas un comentario completo! ! !
Sigo escribiendo hasta que no necesito leer su función para saber qué quiere hacer su función, cuántos parámetros tiene, qué quiere devolver y bajo qué circunstancias terminará de funcionar. .

Funciones de estilo de programación orientada a objetos

el código

// 面向对象风格函数
export function count() {
  // 总和属性
  this._sum = 0;
  // 添加方法方法
  this.add = (i) => this._sum += i;
  // 返回总和方法
  this.get = () => this._sum;
  // 返回构造对象
  return this;
}
/*
// 使用样例
* a = count();
* console.log(a.add(10));
* console.log(a.add(20));
* a.add(30);
* console.log(a.get());
*/

interpretar

En comparación con la programación en cadena que se menciona a continuación, un estilo orientado a objetos más ortodoxo. El resultado de cada operación es claro y el tipo es claro.Con la ayuda de herramientas de programación modernas, la eficiencia de programación es muy alta.

Función de estilo orientada a objetos, programación en cadena.

el código

//面向对象链式编程风格
// 构造函数
export function count2() {
  // 总和属性
  this._sum = 0;
  // 添加方法
  this.add = (is) => ((this._sum += is), this);
  // 求和方法
  this.get = () => this._sum
  // 返回构造对象
  return this;
}
/*使用样例
console.log(count().add(10).add(20).add(30).get());
*/

interpretar

La razón por la que lo separo de la programación orientada a objetos es porque la programación de estilo de cadena orientada a objetos básicamente puede reemplazar la programación curry.

Comparado con curry, este estilo de programación es más plano, más legible y tiene cierta escalabilidad.

Entonces, ¿por qué usar curry cuando puedes elegirlo?

Funciones de estilo declarativo

el código

// 声明式风格函数
export function sum3(is, get) {
  let ans = 0;
  // 这里可以使用任何实现方式,可以使用异步等方式实现
  is.forEach(element => {
    ans += element;
  });
  // 无论用任何方式实现,最后所有运算结束后都使用get函数作为回调。
  get(ans)
}

interpretar

La característica de una función de estilo declarativo no es el aspecto de su código, sino los parámetros que proporciona para que los desarrolladores llamen. A los desarrolladores ya no les importa el orden de implementación, cómo implementar, porque cómo implementar no es importante en absoluto, y el orden de implementación no es importante. Todo lo que quieres son respuestas y obtener respuestas. La implementación se puede implementar de cualquier manera y se puede implementar internamente mediante el uso de métodos de subprocesos múltiples, asincrónicos u otros.

Resumir

La evolución de los estilos de codificación modernos no es más que un cambio de enfoque a medida que cambian los problemas que deben abordarse. Para cambiar la atención de los desarrolladores, deje que los desarrolladores pongan más energía en su propio negocio. No es que cuanto más avanzado sea el estilo de codificación, más fácil sea de usar, lo más importante es elegir el estilo de codificación correcto en el lugar correcto.

Extensión relacionada: desarrollo de código bajo

El desarrollo low-code es una tendencia que ha recibido mucha atención en el campo del desarrollo web en los últimos años. El desarrollo de código bajo se refiere al desarrollo de aplicaciones o lógica comercial utilizando códigos de programación mínimos, lo que permite que incluso los principiantes sin experiencia en TI o programación creen rápidamente la funcionalidad requerida.

Si bien el desarrollo de código bajo aún no ha amenazado el papel de los desarrolladores tradicionales, no se puede negar que la tendencia se está moviendo hacia el desarrollo de código bajo (o sin código). Según la previsión de la empresa de investigación estadounidense Gartner, para 2024, alrededor del 65% de los proyectos de desarrollo de aplicaciones se desarrollarán a través de plataformas de código bajo. Esta tendencia no puede ser ignorada por los desarrolladores, y se espera que la forma de trabajar de los desarrolladores cambie gradualmente en los próximos años.

En los últimos años, me he encontrado vagamente con código bajo, y es relativamente popular en la actualidad, y muchos de los principales fabricantes se han unido uno tras otro.

Lo que es low-code, en mi opinión, es la operación de arrastrar, zumbar y una sola pasada para crear un sistema que pueda ejecutar, front-end, back-end y base de datos, todo de una sola vez. Por supuesto, este puede ser el objetivo final.

Enlace: www.jnpfsoft.com/?csdn , si está interesado, también experiméntelo.

La ventaja de JNPF es que puede generar códigos front-end y back-end, lo que brinda una gran flexibilidad y puede crear aplicaciones más complejas y personalizadas. Su diseño arquitectónico también permite a los desarrolladores centrarse en el desarrollo de la lógica de la aplicación y la experiencia del usuario sin preocuparse por los detalles técnicos subyacentes.

Supongo que te gusta

Origin blog.csdn.net/Z__7Gk/article/details/132236867
Recomendado
Clasificación