[{"keyword":"\ud2b8\ub9ad\uceec","rank":1},{"keyword":"\ube14\ub8e8\uc544\uce74","rank":-1},{"keyword":"\ubc84\ud29c\ubc84","rank":0},{"keyword":"\ub77c\uc624","rank":0},{"keyword":"\uc2a4\ud0c0\ub808\uc77c","rank":5},{"keyword":"\ub9c8\ube44m","rank":5},{"keyword":"\uba85\uc870","rank":-1},{"keyword":"\uc820\ub808\uc2a4","rank":12},{"keyword":"\ub9bc\ubc84\uc2a4","rank":-4},{"keyword":"\ub9d0\ub538","rank":4},{"keyword":"\ubc15\ub098\ub798","rank":4},{"keyword":"\uc6d0\ud53c\uc2a4","rank":5},{"keyword":"\uc6d0\uc2e0","rank":-6},{"keyword":"\ub2c8\ucf00","rank":-6},{"keyword":"\u3147\u3147\u3131","rank":-6},{"keyword":"\ub864","rank":-3},{"keyword":"\ub124\uc774\ubc84\ud398\uc774","rank":-1},{"keyword":"\ucfe0\ud321","rank":0},{"keyword":"\uc778\ubc29","rank":2},{"keyword":"@","rank":"new"},{"keyword":"\uc18c\uc8042","rank":-9},{"keyword":"\uc18c\uc804","rank":-3}]
(IP보기클릭)119.192.***.***
막상 열어보면 이렇게 하면 안된다는 반어법적인 책이라고 합니다
(IP보기클릭)1.245.***.***
애초에 저거 서문인가 끝내며...인가에 제목은 농담이었다고 이거 읽고 제발 미친짓좀 하지 말라고 쓰고 있음 (실제로 현장에서 이런일이 많이 벌어진다고) 저 책 공짜책이니 (판매가도 0원이고, pdf도 널려있음) 프로그래머라면 진지하게 한번쯤은 꼭 읽어봐야하는 책 맞음.
(IP보기클릭)211.177.***.***
지옥에서 온 탭 탭을 과소평가하지 마라. 탭이 얼마의 공간을 나타내야 하는지에 대한 표준이 없는 회사에서는 공백 대신에 탭을 사용하므 로 큰 혼란을 야기할 수 있다. 스트링 문자에 탭을 추가하거나 공백을 탭으로 변환해주는 툴을 돌리는 것도 좋은 방법이다. 일반적인 True, False 규칙을 뒤집어라 일반적인 true, false에 대한 정의를 뒤집어라. 보기보다는 파급효과가 크다. 아래와 같은 정의를, #define TRUE 0 #define FALSE 1 아무도 잘 찾아보지 않을 코드 깊은 곳에 숨겨야 한다. 그리고 프로그램에서는 아래와 같은 비교문을 사용할 수 있다. if ( var == TRUE ) if ( var != FALSE ) 누군가 위와 같은 중복 문제를 “수정”해서, 다음과 같이 정상적인 방법으로 사용할 가능성도 있다. if ( var ) 완전한 사기처럼 보일 수 있겠지만 TRUE와 FALSE가 같은 값을 갖도록 하는 기법도 있다. 1과 2 또는 -1과 0과 같이 교묘 하게 변경하는 방법도 바람직하다. 자바에서도 TRUE라는 이름의 정적 상수를 정의함으로써 이 기법을 사용할 수 있다. 자 바에는 true라는 내장어가 이미 있기 때문에 우리의 의도를 의심하는 프로그래머가 등장할 수 있다. 한빛 홈피에서 무료로 배포하고 있는 책입니다. 관심있으시면 한번 받아보세요 ㅎㅎ
(IP보기클릭)223.62.***.***
주석을 안달면 된다
(IP보기클릭)211.177.***.***
엌 ㅋㅋㅋㅋㅋㅋㅋ 이책 예전에 읽다가 웃겨서 제 마이피에도 내용 몇 개 적은 적이 있는 책이네요 ㅋㅋㅋ 태아 작명법의 새로운 용도 태아 작명법 서적을 구입하자. 그러면 변수명을 뭐로 지어야 할지에 대한 고민을 덜 수 있을 것이다. Fred는 멋진 이름이며 입력하기도 쉽다. 입력이 쉬운 변수명을 원한다면 asdf를 사용해 보기 바란다. 다른 언어의 이름을 활용하자 외국어 사전은 다양한 변수명을 제공하는 마르지 않는 샘과 같다. 예를 들어, point 대신 독일어 punkt를 사용할 수 있다. 비록 우리가 독일어를 잘 알진 못하지만, 유지보수 코더로 하여금 의미를 해독하면서 다양한 문화를 경험할 수 있게 해줄 수 있다. i가 필요할 때 다른 변수는 몰라도 절대로 i 를 가장 안쪽의 루프 변수로 사용하지 말라. 이외의 용도로는 i 를 자유롭게 사용할 수 있다. 특히, 정수가 아닌 변수에 사용할 때 더욱 효과적이다. 비슷한 방법으로 루프 인덱스로 n 을 사용할 수 있다. 규칙에 얽매이지 말지어다 썬 마이크로 시스템즈 스스로도 지키지 않는 선 자바 코딩 규칙(Sun Java Coding Conventions)은 가볍게 무시하자. 특수한 상황에서만 뜻이 미묘하게 달라지도록 이름을 정해보자. 어쩔 수 없이 낙타 표기 규칙을 따라야만 한다면 모호한 상황을 적극 활용해야 한다. 예를 들어, -nputFilename와-nputfileName을 혼용하는 것도 좋은 방법이다. 창의력을 발휘해서 이름을 복잡하게 지을 수 있는 자신만의 비법을 개발하자. 좋은 비법을 개발했는데도 따르지 않는 자가 있다면 바로 질책하자 소문자 l과 숫자 1은 닮았다 Long 상수를 표현할 때 소문자 l을 사용해 보라. 예를 들어, 10l로 표기하면 10L이 아닌101로 착각하기 쉽다. uvw wW gq9 2z 5s il17|!j oO08 `’” ;,. m nn rn {[()]} 등의 문자를 명확하게 구분해주는 폰트를 멀리하자. 창의력을 발휘해보자. 삼천포로 인도하는 이름 메소드의 이름이 의미하는 것보다 더 많은(혹은 더 적은) 동작을 수행하도록 프로그래밍하자. 간단한 예로 isValid(x)라는 메소드에 기능을 추가해 x값을 이진수로 변환하고 결과를 데이터베이스에 저장하도록 구현한다면 모두를 깜짝 놀랄 것이다. 쉽게 찾지 못하게 숨겨라 16진수 값 FB를 할당할 상수 변수명으로 blue 대신 LancelotsFavouriteColour와 같은 이름을 사용하라. 화면에는 완전한 파랑색이 나타나겠지만, 유지보수 프로그래머는 0204FB값을 판독(아마 그래픽 도구를 이용해서)해야 의미를 파악할 수 있을 것이다. 몬티 파이썬의 성배(Monty Python and the Holy Grail)라는 1975년 영국 영화를 좋아하는 광팬이라면 랜슬롯(Lancelot)이 좋아하는 색이 파랑색이라는 사실쯤은 금방 알아차릴 수도 있을 것이다. 몬티 파이썬의 성배 영화 전체 내용을 기억하지 못하는 유지보수 프로그래머가 있다면 프로그래머로써 자질이 없는 분이라고 생각할 수 밖에 없다. 비밀은 없다! 언젠가 모두가 사용할 수 있도록 모든 메소드와 변수를 public으로 선언하라. 메소드를 public으로 선언한 이후에는 메소드 기능을 축소하기가 어렵다. 즉, 내부 동작을 수정하기가 매우 어려워진다. 이 기법을 사용하면 클래스의 목적이 무엇인지를 알기 어렵게 하는 부수적 효과를 얻을 수 있다. 상사가 우리에게 미친 것 아니냐고 얘기한다면, 우리는 그저 투명한 인터페이스라는 고전 원칙을 따르고 있을 뿐이라고 변명하면 된다.
(IP보기클릭)222.98.***.***
(IP보기클릭)110.70.***.***
회사 규모가 중소기업레벨 수준이면 않짤려 짜르고 다른사람 고용했을때 시스템이 유지가 않되거든 아는형이 임베디드개발자인데 저걸로 그냥 버티고 있음 | 17.02.06 13:38 | | |
(IP보기클릭)110.70.***.***
암걸리고 그형 복직함 | 17.02.06 13:43 | | |
(IP보기클릭)211.37.***.***
안 짤려 안 되거든 | 17.02.06 14:00 | | |
(IP보기클릭)14.36.***.***
원파일 코딩으로 버티는 중인가 보냉 하드웨어쪽에 그런 애들이 있긴한데 걍 장비도 바꾸면 해결됨 | 17.02.07 04:55 | | |
(IP보기클릭)59.28.***.***
(IP보기클릭)211.238.***.***
(IP보기클릭)1.215.***.***
(IP보기클릭)119.192.***.***
막상 열어보면 이렇게 하면 안된다는 반어법적인 책이라고 합니다
(IP보기클릭)211.170.***.***
(IP보기클릭)210.126.***.***
그거 코딩 맨 마지막에 하는 작업인데 말이죠... 변수명 암호화..... 외부에서 쉽게 코드에 접속할 수 있는 프로그램 계통일 경우 불법도용 혹은 비정상적인 접근을 막기 위해서, 혹은 프로그램 소스를 직접 판매해야 할 때 변수 이름을 전부 다 ABC로 바꿔서 써버리고, 엔터랑 2칸 이상의 모든 스페이스는 스페이스 한칸으로 대체 해석하려고 까는 순간 지옥문이 보이죠. 운이 좋으면 원본도 구할 수 있긴 하지만. | 17.02.06 13:42 | | |
(IP보기클릭)211.170.***.***
장비 자동화 운영 프로그램 만졌었는데.. 저희는 그런거 없었어요 ㄷㄷ | 17.02.06 13:45 | | |
(IP보기클릭)210.126.***.***
웹은 거의 필수라고 하더라구요.... 자바스크립트는 열면 바로 보이니.... | 17.02.06 13:46 | | |
(IP보기클릭)211.170.***.***
하긴 브라우저에서 뿅뿅만 눌러도 그림에 폰트까지 빼올수 있는 마당에ㅋㅋ | 17.02.06 13:48 | | |
(IP보기클릭)39.7.***.***
스크립트 다 숨기지 않나요? 스크립트까지 여는 툴이 있는건가요? | 17.02.06 21:24 | | |
(IP보기클릭)218.155.***.***
코드 난독화 해도 알아보는 괴물들이 있어요 ㅋㅋ | 17.02.06 22:51 | | |
(IP보기클릭)182.211.***.***
난독화 해도 알아보는 괴물들이 아니라 위에서 까라면 까는 착한(...) 사람들입니다... 저도 이거 오더 떨어져서 몇주간 욕을 달고 살았던 기억이... | 17.02.07 00:41 | | |
삭제된 댓글입니다.
(IP보기클릭)211.170.***.***
ㅡ_-]す~
새로.. 라기 보다는 위에 덮어 씌우지 않나 결국 나중에 보면 소스 난장판이고 안쓰는거 오지게 많고 | 17.02.06 13:41 | | |
(IP보기클릭)223.55.***.***
(IP보기클릭)1.245.***.***
애초에 저거 서문인가 끝내며...인가에 제목은 농담이었다고 이거 읽고 제발 미친짓좀 하지 말라고 쓰고 있음 (실제로 현장에서 이런일이 많이 벌어진다고) 저 책 공짜책이니 (판매가도 0원이고, pdf도 널려있음) 프로그래머라면 진지하게 한번쯤은 꼭 읽어봐야하는 책 맞음.
(IP보기클릭)223.62.***.***
주석을 안달면 된다
(IP보기클릭)211.170.***.***
생각보다 안다는 놈들 많짘ㅋㅋㅋㅋㅋㅋㅋㅋㅋ | 17.02.06 13:45 | | |
(IP보기클릭)121.140.***.***
(IP보기클릭)121.140.***.***
아니 그래도 주석은 좀 달아라 | 17.02.06 13:45 | | |
(IP보기클릭)211.170.***.***
//싫어 | 17.02.06 13:46 | | |
(IP보기클릭)121.140.***.***
/* ㅇ ㄴ */ | 17.02.06 13:56 | | |
(IP보기클릭)211.170.***.***
/* 제발 첫줄은 버려 제발 좀 여기에 내용을 쓰라고 엔터 한번 더 치면 되는걸 .. 진심으로 소스 줄 안맞추는거 극혐이야.. 끝에 줄도 버려 */ | 17.02.06 13:59 | | |
(IP보기클릭)203.248.***.***
/* * 맞아요 * 이렇게 하면 얼마나 조하.... * 보기도 편하고..... * 근데 보면 지가 개발자라고 착각하는 코더들 주석보면 * 진짜 개쓰레기처럼 주석 달아놓았던데... */ | 17.02.07 14:48 | | |
(IP보기클릭)210.179.***.***
(IP보기클릭)118.44.***.***
(IP보기클릭)106.243.***.***
(IP보기클릭)59.18.***.***
주석을 별도파일로 놓고 주석파일 몇째줄 참조 이렇게 적는거 아니고? | 17.02.06 22:32 | | |
(IP보기클릭)115.21.***.***
주석을 적지 않고 누가봐도 알아먹을수 있게 깔끔하게 짜라는 이야기가, 실코드와 주석이 꼭 동시에 업데이트가 되지 않기 때문임. 그 코드를 1~2년 써먹을거라면 신경 안쓰고, 주석 달면 되는데, 이게 5~10년 넘어가면 이 주석이 이코드랑 매칭이 되고, 적절하게 동작하는지 믿을수 없기 때문에, 주석은 최대한 줄이고, 정해진 코딩규칙에 따라, 누가봐도 알아먹을수 있도록 쉽고, 깔끔하게 짜는게 요즘 트렌드라고 들었음. | 17.02.07 00:03 | | |
(IP보기클릭)203.248.***.***
문제는 개발자인줄 착각하는 코더들이 보통 주석도 안달고 코드도 복잡하게 자죠. 그래서 코더들한테 무조건 주석 달라고 교육시키고 있어요 | 17.02.07 14:49 | | |
(IP보기클릭)112.150.***.***
(IP보기클릭)111.65.***.***
그 주작을 믿나요? 당연히 개구라죠. | 17.02.06 23:12 | | |
(IP보기클릭)111.65.***.***
자동화시스템을 만들었다 그런 내용인데. 대기업 규모 자동화 시스템을 현장에 단 한번도 안가보고 센서 한번도 직접 안돌려보고 어떻게 짭니까. | 17.02.06 23:13 | | |
(IP보기클릭)118.218.***.***
(IP보기클릭)211.177.***.***
엌 ㅋㅋㅋㅋㅋㅋㅋ 이책 예전에 읽다가 웃겨서 제 마이피에도 내용 몇 개 적은 적이 있는 책이네요 ㅋㅋㅋ 태아 작명법의 새로운 용도 태아 작명법 서적을 구입하자. 그러면 변수명을 뭐로 지어야 할지에 대한 고민을 덜 수 있을 것이다. Fred는 멋진 이름이며 입력하기도 쉽다. 입력이 쉬운 변수명을 원한다면 asdf를 사용해 보기 바란다. 다른 언어의 이름을 활용하자 외국어 사전은 다양한 변수명을 제공하는 마르지 않는 샘과 같다. 예를 들어, point 대신 독일어 punkt를 사용할 수 있다. 비록 우리가 독일어를 잘 알진 못하지만, 유지보수 코더로 하여금 의미를 해독하면서 다양한 문화를 경험할 수 있게 해줄 수 있다. i가 필요할 때 다른 변수는 몰라도 절대로 i 를 가장 안쪽의 루프 변수로 사용하지 말라. 이외의 용도로는 i 를 자유롭게 사용할 수 있다. 특히, 정수가 아닌 변수에 사용할 때 더욱 효과적이다. 비슷한 방법으로 루프 인덱스로 n 을 사용할 수 있다. 규칙에 얽매이지 말지어다 썬 마이크로 시스템즈 스스로도 지키지 않는 선 자바 코딩 규칙(Sun Java Coding Conventions)은 가볍게 무시하자. 특수한 상황에서만 뜻이 미묘하게 달라지도록 이름을 정해보자. 어쩔 수 없이 낙타 표기 규칙을 따라야만 한다면 모호한 상황을 적극 활용해야 한다. 예를 들어, -nputFilename와-nputfileName을 혼용하는 것도 좋은 방법이다. 창의력을 발휘해서 이름을 복잡하게 지을 수 있는 자신만의 비법을 개발하자. 좋은 비법을 개발했는데도 따르지 않는 자가 있다면 바로 질책하자 소문자 l과 숫자 1은 닮았다 Long 상수를 표현할 때 소문자 l을 사용해 보라. 예를 들어, 10l로 표기하면 10L이 아닌101로 착각하기 쉽다. uvw wW gq9 2z 5s il17|!j oO08 `’” ;,. m nn rn {[()]} 등의 문자를 명확하게 구분해주는 폰트를 멀리하자. 창의력을 발휘해보자. 삼천포로 인도하는 이름 메소드의 이름이 의미하는 것보다 더 많은(혹은 더 적은) 동작을 수행하도록 프로그래밍하자. 간단한 예로 isValid(x)라는 메소드에 기능을 추가해 x값을 이진수로 변환하고 결과를 데이터베이스에 저장하도록 구현한다면 모두를 깜짝 놀랄 것이다. 쉽게 찾지 못하게 숨겨라 16진수 값 FB를 할당할 상수 변수명으로 blue 대신 LancelotsFavouriteColour와 같은 이름을 사용하라. 화면에는 완전한 파랑색이 나타나겠지만, 유지보수 프로그래머는 0204FB값을 판독(아마 그래픽 도구를 이용해서)해야 의미를 파악할 수 있을 것이다. 몬티 파이썬의 성배(Monty Python and the Holy Grail)라는 1975년 영국 영화를 좋아하는 광팬이라면 랜슬롯(Lancelot)이 좋아하는 색이 파랑색이라는 사실쯤은 금방 알아차릴 수도 있을 것이다. 몬티 파이썬의 성배 영화 전체 내용을 기억하지 못하는 유지보수 프로그래머가 있다면 프로그래머로써 자질이 없는 분이라고 생각할 수 밖에 없다. 비밀은 없다! 언젠가 모두가 사용할 수 있도록 모든 메소드와 변수를 public으로 선언하라. 메소드를 public으로 선언한 이후에는 메소드 기능을 축소하기가 어렵다. 즉, 내부 동작을 수정하기가 매우 어려워진다. 이 기법을 사용하면 클래스의 목적이 무엇인지를 알기 어렵게 하는 부수적 효과를 얻을 수 있다. 상사가 우리에게 미친 것 아니냐고 얘기한다면, 우리는 그저 투명한 인터페이스라는 고전 원칙을 따르고 있을 뿐이라고 변명하면 된다.
(IP보기클릭)211.177.***.***
지옥에서 온 탭 탭을 과소평가하지 마라. 탭이 얼마의 공간을 나타내야 하는지에 대한 표준이 없는 회사에서는 공백 대신에 탭을 사용하므 로 큰 혼란을 야기할 수 있다. 스트링 문자에 탭을 추가하거나 공백을 탭으로 변환해주는 툴을 돌리는 것도 좋은 방법이다. 일반적인 True, False 규칙을 뒤집어라 일반적인 true, false에 대한 정의를 뒤집어라. 보기보다는 파급효과가 크다. 아래와 같은 정의를, #define TRUE 0 #define FALSE 1 아무도 잘 찾아보지 않을 코드 깊은 곳에 숨겨야 한다. 그리고 프로그램에서는 아래와 같은 비교문을 사용할 수 있다. if ( var == TRUE ) if ( var != FALSE ) 누군가 위와 같은 중복 문제를 “수정”해서, 다음과 같이 정상적인 방법으로 사용할 가능성도 있다. if ( var ) 완전한 사기처럼 보일 수 있겠지만 TRUE와 FALSE가 같은 값을 갖도록 하는 기법도 있다. 1과 2 또는 -1과 0과 같이 교묘 하게 변경하는 방법도 바람직하다. 자바에서도 TRUE라는 이름의 정적 상수를 정의함으로써 이 기법을 사용할 수 있다. 자 바에는 true라는 내장어가 이미 있기 때문에 우리의 의도를 의심하는 프로그래머가 등장할 수 있다. 한빛 홈피에서 무료로 배포하고 있는 책입니다. 관심있으시면 한번 받아보세요 ㅎㅎ
(IP보기클릭)126.236.***.***
악마다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ | 17.02.07 01:12 | | |
(IP보기클릭)61.38.***.***
짜다가 내가 헷갈리겠다 ㅋㅋㅋ | 17.02.07 09:24 | | |
(IP보기클릭)115.140.***.***
(IP보기클릭)58.230.***.***
(IP보기클릭)112.170.***.***
(IP보기클릭)122.36.***.***
(IP보기클릭)1.243.***.***
(IP보기클릭)112.160.***.***
(IP보기클릭)124.60.***.***
예상 실패..
(IP보기클릭)203.234.***.***