산들바람_
2k
2020-08-08 02:00:57
14
1025

롬복과 람다


람다 싫어요

롬복 좋아요

람다가 싫은 이유는, 

생략이 너무 많고 , 가독성이 떨어지는것 같습니다

1.8의 저주 람다;;;

롬복은 절대 축복인것 같습니다.

하지만 람다는 코드가 짧다는게 다 좋은건 아니지만, 아예 없는게 낫지

new Thread(()-> {System.out.println ("runnalble run execute")}).start();

이렇게 쓰는건;  편하다기 보단

그냥 노이즈에 불과한듯 합니다


0
  • 댓글 14

  • 돈까스
    4k
    2020-08-08 02:10:36

    람다가 모든 상황에서 나쁘지는 않잖아요.

    적용했을 때 좋은 상황에서는 쓰시고,

    적용했을 때 나쁜 상황에서는 쓰지 마세요.

    그럼 간단히 해결되는 문제입니다?

  • allinux
    1k
    2020-08-08 02:16:32

    이해가 안되는군요...

    롬복을 환영하는 이유가 자바에 해당 기능이 없기 때문아닐런지요. 

    즉 가뜩이나 장황해서 롬복같은 것을 사용하는건데...람다는 없는 것이 낫다?

    이해는 안되는군요 거창하게 fp 까지는 아니더라도 한번 stream 과 람다조합을 사용해보세요. 

  • 엡실론
    1k
    2020-08-08 04:58:06

    약간 이해가 될것도 같네요. 타입같은게 생략되어서 그냥 텍스트로 코드만 보면 조금 알기 힘들때도 있습니다. 그런건 타입 이름을 람다 파라미터 이름으로 쓴다던가, ide를 잘 활용한다던가 하는 식으로 어느정도 해결이 되긴 합니다.

    new Thread() {
        @Override
        public void run() {
            System.out.println("run");
        }
    }.start();

    이런 코드 보다야 람다를 쓰는게 낫지 않나요?

    전 자바 람다도 좀 거추장스럽고, 코틀린 람다가 더 맘에 듭니다. 특히나 it이요.

  • fender
    19k
    2020-08-08 08:15:19
    아마 스트림 API를 써보시면 생각이 바뀌실 것 같습니다.
  • 마구마구
    1k
    2020-08-08 08:48:11

    람다는 축복인데...

  • 기술의홍다희
    424
    2020-08-08 09:34:47

    일단 실행되는 코드를 바로 그 자리에서 볼 수 있다는 장점이...

    눈에 익으면 축복.

  • 코딩요정바람돌이
    -1k
    2020-08-08 09:40:57

    람다는 인텔리전스가 좀 아쉽죠~ㅎ

    좀 잘못만든 언어적 스펙인거 같긴함..

    -1
  • fender
    19k
    2020-08-08 10:56:42 작성 2020-08-08 10:58:08 수정됨
    이해가 안되는군요...
    롬복을 환영하는 이유가 자바에 해당 기능이 없기 때문아닐런지요. 
    즉 가뜩이나 장황해서 롬복같은 것을 사용하는건데...

    기본적으로는 맞는 말씀이긴 한데 롬복 기능이 워낙 다양해서 요샌 단순히 자바 단점(예 - 자동 속성이나 레코드 유형의 부재 등)을 보완하는 정도가 아니라 장점을 추가하는 수준이더군요, 툴 지원도 괜찮고...

    람다의 장점을 못느끼는 분들은 아마 그런 방식의 코딩을 안해보셔서 그럴 것 같습니다.

  • 케이론
    466
    2020-08-08 12:16:34

    람다 학습이 안되서 가독성이 떨어진다고 느껴지시는거ㅜ같은데

    스트림, 람다 쓰다보면 예전 레거시 코드 보면 차이가 확 오던데

  • 답정너심판자
    2k
    2020-08-08 15:46:28

    "new Thread(()-> {System.out.println ("runnalble run execute")}).start();"

    이 구문이 가독성이 왜 떨어지며, 노이즈가 많다는건 뭔지 알려주시면 더 좋을거 같습니다.


    사실, 글만 읽었을때는 글쓴분 공부가 부족한 느낌이 많이 들어서요.

  • Fleet
    221
    2020-08-08 16:55:16
    new Thread(()-> {System.out.println ("runnalble run execute")}).start();

    너무 직관적이지 않아요?
  • jslovers
    2k
    2020-08-08 17:13:24

    스트림, 람다는 자바 베스트 피처라고 생각합니다.

    자바는 최신화되어가는데 자바를 사용하는 개발자분들의 버전은 천차만별이죠.

    8버전 미만인 분들이 많은 것 같습니다.

  • 산들바람_
    2k
    2020-08-09 00:20:50

    글쎄요

    만약 처음 java 를 시작하거나 익숙하지 않은 입장에서는

    모든것이 생략되어있고 비약적으로 표현된 언어에 익숙하기는 쉽지 않을것 같습니다.

    new Runnable 인터페이스의 구현체가 자리잡고 있다는것도 모두 비약적으로 생략되어 있으며

    데이터 type도 모두 스킵한체 로직만으로 구성된 프로토 타입같은 표현이 많이 개인적으로 껄끄러웠던것 같습니다.

    물론 이런 눈에 익은 표현식은 알수 있지만,

    이걸 마구 남발한다면, 추상적인 표현으로 인한 혼돈이 많이 올것같은 개인적인 생각에 글을 남긴것 같습니다.

    많은 분들의 고견을 감사하게 생각합니다.

  • StringBuilder덕후
    1k
    2020-08-09 09:01:26

    람다가 jQuery 같아서 좋아합니다^^

  • 로그인을 하시면 댓글 을 등록할 수 있습니다.