¿Cree que esto es de 6 a escribir código, pero no entiende

Fuente | rey en silencio

Zebian | Carol

Foto de la portada | CSDN│ descargar el visual de China

Con el fin de mejorar las habilidades de programación Java, aprenden algunos autores han escrito recientemente experto código en GitHub. La siguiente línea de código (de las manos de Daniel) se dice que puede vencer a tus amigos, deja que piensen que escribir el código es 6, para apreciarlo.

IntStream.range(1, 5).boxed().map(i -> { System.out.print("Happy Birthday "); if (i == 3) return "dear NAME"; else return "to You"; }).forEach(System.out::println);

Aunque el autor tiene 10 años de experiencia en programación Java, pero para ser honesto, muy avergonzado, este código es como una palmada de ladrillo en la cabeza, un poco de fuerza ignorante. Las expresiones lambda que aprendí, aprendí Corriente Corriente, forEach() la forma También aprendí, pero el punto de todo este conocimiento metido en una línea de código, que estaba un poco indigestión.

Siempre pienso que es mejor reemplazar la antigua línea de sintaxis del código (Java antes de las 7) para escribir así:

for (int i = 1; i < 5; i++) {
    System.out.println("Happy Birthday " + (i == 3 ? "dear NAME" : "to you"));
}

Vaya, código hermoso, concisa y clara! No sólo puedo entender, aunque sólo sea para obtener Java blanco puede entender. Ya sabes, el código está escrito en los carteles, aunque sólo se puede entender, simplemente se siente muy 6, mientras que otros parecen niebla, que no es necesariamente una buena códigos, aunque parece estar caminando en la vanguardia de la tecnología .

Como dice el refrán, "Un gran poder conlleva una gran responsabilidad". Java 8 nos proporciona capacidades de gran alcance, es un punto de referencia de las nuevas características (después de 8 versión Java de las funciones nuevas que no son lo suficientemente deslumbrante), incluyendo expresiones lambda y el flujo de corriente, podemos escribir concisa y eficiente a través de ellos código . Para hacer una analogía apropiada, antes de Java 8, los desarrolladores están impulsando Santana, después de Java 8, los desarrolladores de la conducción de un Ferrari.

Pero si no, entonces las habilidades de conducción, puede convertirse en Ferrari Santana, aún peor. Antes de ese período parecen obtener el código es 6, por ejemplo, no es por algún código de buena - a pesar del uso de las nuevas tecnologías, pero es difícil de entender.

Antes de Java 8, si desea escribir código funcional, se debe utilizar la biblioteca de guayaba de Google, es una gran biblioteca de código abierto (que no están familiarizados con ella), se puede compensar la falta de bibliotecas nativas de clase Java en cierta medida . Vi un consejo como el siguiente en su wiki, hecho que sea muy visionario:

El uso excesivo de los idiomas de programación funcional de la guayaba puede conducir a la prolijo, confuso código, ilegible e ineficiente. .. cuando vas a longitudes absurdas Para que el código “una sola línea”, las llora equipo de guayaba.

Usted debe ser capaz de poder entender, ¿verdad? Generalmente esto significa es que, si la programación funcional guayaba uso excesivo de palabras dará lugar a la tediosa código, confundiendo, ilegibles, incluso ineficaz, si algunos desarrolladores con el fin de reducir la longitud del código, ponen deliberadamente varias líneas de código "optimización" en una fila cuando el código, guayaba estará jugando incluso llorar.

Sólo puedo decir, las personas buenas son realmente terrible, que no sólo conocía sus fortalezas, aprender más sobre sus propios defectos - que son ustedes, los desarrolladores de guayaba. En cuanto a Daniel, que se mencionó al principio, escribió el código que puedo presumir, salvo para decir virtuoso para mostrar su confianza ciega en él. En mi experiencia, sólo una pequeña parte de un ganado grande para mantener la cordura en la búsqueda de la innovación tecnológica virtuoso consciente del problema.

Creo que, por recomendación de guayaba wiki también se aplica a Java 8, buena tecnología a utilizar correctamente, no abusar. Como todos sabemos, las nuevas características de Java 8 se pueden utilizar para reducir código redundante, cuando ponemos una clase interna anónima compleja en una simple expresión Lambda es un ejemplo bueno.

Thread t1 = new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("匿名内部类,搞起来");
    }
});
t1.start();

// 优化后

Thread t2 = new Thread(() -> {
    System.out.println("Lambda 表达式,搞起来");
});
t2.start();

Usted ve, la cantidad menor de la optimización del código, y de un vistazo, que no pueden leer, no se consigue el punto. El propósito de la programación funcional puede aparecer no sólo para reducir código redundante, que es liberar las fuerzas productivas - es decir entre líneas, punto de código complejidad no importa, siempre y cuando la disponible y confiable. El objetivo del programa no es para generar tan poco código, pero de fácil mantenimiento, sistema de alto rendimiento.

Tomemos, por ejemplo, si comienzo de Luoyang a Zhengzhou para asistir a una técnica Sharon, no tengo necesidad de volar y conducir el tren de alta velocidad es la mejor opción. Entiendo lo que quiero decir, ¿verdad? Hacer el conjunto de las campanas y silbatos, práctico primeros.

"Plan de Trabajo [el segundo trimestre] - la capacidad de aprendizaje Challenge" comenzó! A partir de ahora hasta el 21 de marzo de millones diez fluir a apoyar al autor original! Exclusiva [más] medalla esperando a que reto

推荐阅读:如何与亦敌亦友的 null 说拜拜?大神原来是这么做的!
大数据成长之路:谈谈那些必须学习的Linux基础知识
无需3D运动数据训练,最新人体姿势估计方法达到SOTA | CVPR 2020
国产 14nm 迎曙光,进口荷兰光刻机顺利入厂!
从哈希函数、哈希冲突、开散列出发,一文告诉你哈希思想与哈希表构造到底是什么!
前端 Webpack 工程化的最佳实践
真香,朕在看了!
Publicados 276 artículos originales · ganado elogios 1230 · Vistas 1,15 millones +

Supongo que te gusta

Origin blog.csdn.net/FL63Zv9Zou86950w/article/details/104787588
Recomendado
Clasificación