Você acha que isso é de 6 a escrever código, mas eu não entendo

Fonte | rei silencioso

Zebian | Carol

Foto da capa | CSDN│ baixar o China visuais

A fim de melhorar Java habilidades de programação, aprender alguns autores especialista código escrito recentemente no GitHub. A seguinte linha de código (das mãos de Daniel) é dito pode conquistar seus amigos, deixá-los pensar que você escrever o código é de 6, para apreciá-lo.

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);

Embora o autor tem 10 anos de experiência em programação Java, mas para ser honesto, muito envergonhado, este código é como um tapinha tijolo na minha cabeça, um pouco de força ignorante. As expressões lambda que aprendi, Córrego Córrego eu aprendi, forEach() a maneira que eu também aprendi, mas o ponto de todo esse conhecimento de pelúcia em uma linha de código, eu estava um pouco indigestão.

Eu sempre acho que é melhor para substituir a antiga linha de sintaxe do código (Java antes de 7) para escrever assim:

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

Uau, código bonito, concisa e clara! Não só eu posso entender, mesmo apenas para obter Java Branco pode entender. Você sabe, o código é escrito em cartazes, se só você pode entender, me sinto muito 6, enquanto outros parecem neblina, não é necessariamente uma boa códigos, embora parece ser curta na vanguarda da tecnologia .

Como diz o ditado: "Com grande poder vem grande responsabilidade." Java 8 nos fornece recursos poderosos, é um marco dos novos recursos (após 8 versão Java dos novos recursos não são suficientes deslumbrante), incluindo expressões lambda e fluxo Stream, podemos escrever de forma concisa e eficiente através deles código . Para fazer uma analogia inapropriada, antes de Java 8, os desenvolvedores estão dirigindo Santana, depois Java 8, os desenvolvedores dirigindo um Ferrari.

Mas se não, em seguida, dirigindo habilidades, ele pode se tornar Ferrari Santana, ainda pior. Antes desse período parecem para obter o código é de 6, por exemplo, não é por algum código de boa - apesar do uso de novas tecnologias, mas é difícil de entender.

Antes de Java 8, se você quiser escrever código funcional, ele deve estar usando biblioteca Goiaba do Google, é uma grande biblioteca de código aberto (não familiarizados com ele), ele pode compensar a falta de bibliotecas nativas de classe Java, até certo ponto . Eu vi um pedaço de aconselhamento como o seguinte em seu wiki, tornava muito visionária:

O uso excessivo de expressões idiomáticas de programação funcional de goiaba pode levar à detalhado, confundindo código, ilegíveis e ineficiente. .. quando você vai para comprimentos absurdas para tornar seu código “um one-line”, os chora equipe goiaba.

Você deve ser capaz de ser capaz de entender, certo? Geralmente significa é que, se a programação funcional Goiaba uso excessivo de palavras levará a tediosa código, confundindo, ilegível, mesmo ineficiente, se alguns desenvolvedores, a fim de reduzir o comprimento do código, deliberadamente colocar várias linhas de "otimização" de código em uma linha quando o código, goiaba vai jogar até chorar.

Só posso dizer, as pessoas boas são realmente terríveis, ele não só sabia seus pontos fortes, aprender mais sobre suas próprias deficiências - que é você, desenvolvedores de goiaba. Quanto a Daniel, que mencionei no início, ele escreveu o código que pode se vangloriar, exceto para dizer virtuoso para mostrar sua confiança cega nele. Na minha experiência, apenas uma pequena parte de um grande gado para manter a sanidade na busca da inovação tecnológica virtuoso ciente do problema.

Eu acho que, na recomendação de goiaba wiki também se aplica a Java 8, boa tecnologia para usar corretamente, não abusar. Como todos sabemos, os novos recursos do Java 8 pode ser usado para reduzir o código redundante, quando colocamos uma classe interna anônima complexa em uma simples expressão Lambda é um exemplo bom.

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();

Você vê, a quantidade menor de otimização de código, e num piscar de olhos, que não sabem ler não vai chegar ao ponto. O objetivo da programação funcional pode aparecer não só para reduzir o código redundante, que é libertar as forças produtivas - ou seja entre as linhas, ponto a complexidade do código não importa, contanto que o disponível e confiável. O objetivo do programa não é para gerar o mínimo de código, mas de fácil manutenção, sistema de alto desempenho.

Tomemos, por exemplo, se eu começar a partir de Luoyang para Zhengzhou para assistir a uma Sharon técnico, não tenho necessidade de voar e condução ferroviária de alta velocidade é a melhor escolha. Entender o que quero dizer, certo? Fazer toda a aqueles sinos e assobios, prático primeiros.

"Plano de Força [segundo trimestre] - a capacidade de aprendizagem Challenge" começou! De agora até 21 de março de milhões de dez fluir para apoiar o autor original! Exclusivo [mais] medalha esperando por você para desafio

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

Acho que você gosta

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