이 책은, 일반적으로 쓰기 참조 코드의 역할을 보인다 내 개인적인 경험에서이 책을 읽을 수 있습니다, 그것은 일반적인 코드 중심의 방법을 읽어 것이 가장 좋습니다,이 빠른 흡수, 빠른 읽기.
이 책은 주로, 나는 마음이지도 개요를 사용하는 것에 대해 수 있습니다 :
주요 이야기의 포인트는 다섯 개 Java 구문, JDK의 API, 애플리케이션 성능, 스타일을 프로그래밍과 아이디어를 프로그래밍 등 오픈 소스 툴과 프레임 워크이라고이 매핑 프로그램에 따르면.
나는이 주요 오픈 소스 오픈 소스 세계에 대해 읽고이 두 장의 생각, 오픈 소스 툴과 프레임 워크, 스타일을 프로그래밍 및지도에 언급 된 아이디어를 프로그램의 해당이 장. 오늘 이야기 그래서 약이 두 가지 측면이다.
첫째, 오픈 소스 툴과 프레임 워크
매핑은 다음과 같습니다 :
저자의 견해는 다음과 같습니다 오픈 소스 프로젝트의 대담한 사용. 그리고 앞으로이에 5 개 제안을했습니다. 하지만 내 생각에, 다음뿐만 아니라 프레임 워크를 선택하고 도구를 많이 사용 될 것 같지 않습니다 여섯 개 원칙,보기의 매핑 점에서 다른 4시를 수행해야합니다. 그래서 나는 세부 사항에 의도하지 않지만,이 네 가지 포인트 나 이러한 아이디어와 제안을 이해하기.
다음과 같이 아이디어 및 권장 사항은 다음과 같습니다 :
같은 문자열 관련 클래스의 아파치 공통으로 통합하는 데 사용 관련 도구는 쉽게 혼동하기 때문에,이 기능을 가능한 한 많이 다른 인용하지 않는, 특별한 치료를 가지고 있으며, 경우에 리드 팩, 시간 때 안전 Ctrl + Alt 디스플레이가 있습니다 너무 많은, 당신이 해당 API의 경우하지 않은 경우 혼란 얻을 쉽고, 잘 알고, 또한 해당 기능을 구현하는 필요성을 피하면서 나는, 통합 된 도구의 장점이 가이드 패키지 눈부신 방지하는 것입니다 명확히 할 도구, 당신은이를 참조 할 때, 나는 그 말을 인용.
현재 오픈 소스 프로젝트는, 나는 그것이 상대적으로 전체 문서, 많은 오픈 소스 프로젝트 및 기업뿐만 아니라이 대응되어있다, Hutool이며, 그것은 아주 좋은 도구 통합 프로젝트라고 생각합니다.
Hutool 공식 주소 : HTTP : //www.hutool.cn/
그러나 오픈 소스 프레임 워크 및 도구의 선택, 그것은 여섯 개 원칙을 따라하는 것이 좋습니다 :
(1) 범용;
도구를 선택하거나 프레임 워크는 프로젝트 팀의 전반적인 기술 수준, 프로젝트의 구성원의 대부분을 보증 등의 MyBatis에 비해 지속성 계층, 최대 절전 모드 더 나은 선택에 대한 선택과 같이 도구에 더 익숙한하기 위해 너무 많은 범위와 점프를 가질 수 없습니다 고려해야합니다, 빠른, 저렴한 비용으로 학습이, 또 다른 예를 대체하기 때문에 이유는 MyBatis로 MyBatis로 플러스, 범위 및 점프 프로젝트를 리모델링 거의 배울 수 있기 때문에 성격이나 MyBatis로 MyBatis로 플러스, 같은 팀의 비용이 큰되지 않습니다 저렴한 비용, 개발 효율이 증가하면서.
(2) 특이;
같은 도구는 더 이상 동일하거나 유사한 기능의 도구 공존하지 않는, 하나 이상 선택할 수 있습니다. 예를 들어, hutools 관련 기능까지 가능한, 하나를 선택 때문에 프로젝트 개발에 회원, 때때로 Ctrl 키 + 시프트 + O 때 관계없이 패키지를 실시하는 권리를 안내 할 때, 대신 아파치 공통으로 사용할 수 있습니다.
(3) 차가운 공기 나무;
같은 널리 자바 + MyBatis로 + SpringMVC에서 등등 사용하는 현재로 잘 알려진 오픈 소스 프로젝트, 봄을 찾아보십시오. 또는 지금 Jeesite4.0 하나의 오픈 소스 프로젝트입니다. 많은 사람들이 사용하기 때문에이 있지만, 우리는 만남 버그의 많은에 대해 걱정할 필요가 없습니다,하지만 때문에 사용자 그룹의 넓은 범위, 우리는 트레드 구덩이를 많이 방지 할 수 있습니다.
(4) 마무리 및 전문;
(5) 높은 열;
가능한 한 자주 이러한 업데이트를 선택할 수있는 오픈 소스 프로젝트를 선택합니다. 누군가가 유지 보수에 대한 책임이 있음을 종종 의미가 문제를 해결을 담당했다. 년, 2 년 또는 업데이트보다 자주 더 나은 업데이트는 괜찮을 항목을 업데이트하지 않았습니다. 우리가 때, 굵은이보기를해야한다 오픈 소스 프로젝트의 재사용 그래서 신중하게 선별. 우리는 오픈 소스 프로젝트는 어떤 이유로 갑자기 저자가 유지되지 않습니다, 선택 찾을 수있는 경우에, 서로에 대해 불평하지 않으며, 모든 후, 우리는 즐길 열심히 다른 사람의 기여 검게 다른 사람이하지 않는 경우 물론, 마지막이 결과.
둘째, 프로그래밍 스타일과 프로그램 아이디어
스타일을 프로그래밍과 아이디어를 프로그래밍에 대한 저자는 앞으로 8 포인트 제안을 넣어, 나는 스틱 꽤 느낌. 나는 다음과 같이 요약 마음지도로 사용할 수 있도록 :
좋은 코딩 스타일을 촉진 1
취하거나 혼란을 보면 꼭 랩의 조판이 대부분의 사람들이 그것을 할 수있는 현재, 좋지 않다. 그러나 스타일의 유니폼, 그것은 조금 어려운, 속담, 백명 백 햄릿의 눈. 예 : "수동 알리 바바 자바 개발"지금은 인기있는 자바 사양 가이드로 코드를 해결하는 방법 좀 어려운 일이 아니다, 당신은 참조를 배울 수 있습니다. 이와 이클립스 플러그인 코드 분석 라이트이 코드 품질 분석 또는 수중 음파 탐지기 수중 음파 탐지기 등의 편의 (보편적 인 도구도 좋은 코딩 스타일을 만들 도움이됩니다.
2. 음주 문제를 발견하는 단위 테스트에만 의존하지
제한된 시간 동안, 테스트 시나리오 및 해당 데이터를 할 수 있기 때문에 단위 테스트는 개발자의 우리 또한 삼가지, 모든 시나리오에 적용되지 않습니다
(1) 일반;
(2)의 경계;
(3) 이상;
다른 하나는 우리가 특별한 시험이 있더라도, 너무 많이 고려해야 할 시간이 없어, 테스트 시나리오는 여전히 제한된다. 아직 테스트 같은 작은 회사를 언급 할 필요가 없을 것입니다.
주석이 정확, 명확, 간결하자 (3)
나는이 의견에 대한 세부 사항에 가지 않을 것이다, 그래서이 마음지도가 충분한 세부 사항이 위라고 생각한다.
4. 단일 인터페이스 기능
5. 선택적 클래스 향상
6. 추상적이 아니라 실현에 의존
4,5,6 대응하는 설계 패턴에 관한, 그러나 이러한 디자인 패턴 우리 실제 개발이 준수하고 있으며, 또한 파괴되었다. 완전히 디자인 패턴의 집합을 준수하기 어려웠다.
7. 일곱 나쁜 코딩 습관을 포기
울고 (1) 자유 형식의 코드를 작성하는 방법에 작성하는 방법에 대한 임의의 생각, 그리고 마지막으로 대기.
(2) Java와 같은 추상적 인 코드를 사용하지 않고, 일반적으로,이 프로젝트는 쓸 것이다 :
개체, DAO, 서비스, ServiceImpl에서는, 컨트롤러
엔티티는 데이터 엔티티에 대응
데이터 액세스 계층에 해당 DAO
서비스 로직 계층에 해당하는 그것의 구현 클래스
NATURAL 컨트롤러 인터페이스 제어 층 또는 도면
쉬운 방법은, 서비스 및 ServiceImpl에서는에 자신의 아이디어에 따라 하나에 병합 어떤 사람들은, 우리는 단일 책임 원칙 전에 말했다. 서비스 및 ServiceImpl에서는 하나로 통합하는 경우, 저자는 매의 책임을 충족하고 거꾸로 또는 지향 인터페이스를 종속되지 않습니다. 듀티 또는 단일 또는 지향 인터페이스를 언급 종속성 반전 가치 모두, 코어는 호환 않기 때문에 "높은 응집력 및 낮은 결합." 그는 자연스럽게이며, 한 "낮은 응집력, 높은 커플 링."
즉 다른 사람들이 이해하지 않도록 코드를 작성하기 때문에 (3) 개성으로, 예를 들어, 나는 그가 매우 빠른 하드웨어라고 생각합니다.
같은 특정 기능 코드 죽은 코드와 같은 (4) 나중에 다시 사용하기 위해 대기, 그것을 주석 주석을 사용하여 일시적으로 중단되었지만, 나중에 사용할 수 있습니다, 현실은 미래가 다시 사용되지 않습니다 인 영향에 가독성.
(5)와 같은 도구의 문자열로 비 비어있는 판단을 할 수있는 중복 코드로, 당신은 아직도 경우 - 다른 사람 같은 경우 - 다른 물품.
코드가 변화 거부로 (6)처럼 성장하기를 거부, 언젠가는 겪을 것이다.
독선적 인 코드로 (7), 그들이, 또는 자신의 어떤 문제를 작성하는 맹인의 자신감을 테스트하기 위해 몇 가지 시나리오를 곧 완성 된 예비 테스트를 생각하지 않는 것, 약간의 버그가되지 않습니다, 결국, 일반적인 상황 의지 문제가있다. 정말 저를 만졌다.
8. 기술 자율 규제에 사람이 아닌 근로자
에 관계없이 프로젝트가 크고 성장, 또는 디버깅 할 때 때의 그것과 매우 잘 알고있는 경우 Eclipse와 같은 익숙한 도구,의 (1), 당신은 항상 사람의 수를 기준으로보다 친숙 잘못된 조사에 당신보다 낮은 것 또는 더 빠른 효율성, 패키지의 클래스를 찾을 수 있습니다.
(2) IDE에서, 각 프로그래밍 언어는 고유 IDE, IDE없는 경우, 메모장 또는 쓰기 메모장을 사용하여 코드를 상상을 가지고, 다음, 그것은 고통스러운 일이 아 IDE 거기, 명령 줄 컴파일러 전체 응용 프로그램 프로그래머는 개발 효율성을 향상 불필요한 육체 노동을 줄이는 것입니다.
(3) 부착합니다 코딩, 여기에 대한 영감의 다른 곳만큼 기술이 원, 코드 또는 쓰기 내부 믹스 여전히 같은 것을 말할 수 있습니다.
(4) 인코딩하기 전에 내가하지 인코딩하기 전에 직접 공개 건조를 생각하기 전에 여기 말했다 생각, 최종 결과는 쓸모없는 비효율적이다.
재건 (5) 부착합니다이 재구성은 일반적으로 요청을 수신하고, 대규모, 일반적으로 제어 층으로 사용되어, 이전 컨트롤러로 단계별 공정 일 수있다 필요하지 않다 앤드류 도킹 같은 데이터 반환 데이터를 처리하여, 일반적으로 JSON 데이터는 각 컨트롤러 팩을지도한다 저장 이전에 인용 된 JSONObject는, 클래스의 재사용으로 추출 할 수 있습니다.
(6)도 문서를 작성하고 정렬 비즈니스 로직에서 문제를 해결하기 위해, 또는 자신의 사고 능력을 향상 할뿐만 아니라, 전에 말했듯이, 문서를 작성합니다.
(7) 그 프로그램의 간단한 버전 유지, 프로젝트 너무 많이 이상 또는 종종 간단한 일이 복잡하게 될 것입니다.
HTTPS : (8) 단위 테스트의 중요성에 대해,이 글, 기사 링크에서 말했다, 단위 테스트를 수행하는 //www.cnblogs.com/youcong/p/9291184.html을 나는 더 이상 말을하지 않도록.
(9) 이벤트 만 두려워 두려워 백업이, 항상 피할 길을 떠나합니다.
(10), 기성품의 직접 사용은 물론, 당신이 바퀴를 변환 수 있다고 생각한다면, 그래서 바퀴가 더 잘 될 것을 당신이 쓰기에 많은 노력을 소유하고 있지 않은, 기성 도구가, 바퀴를 만들 반복하지 마십시오 글쎄, 난 제거 할 수 있습니다, 우리가 시도 할 수 있습니다 생각합니다.
쉽게 아직 호출하는 코드 블록을 기록하지 왜 특정 기능 같은 참조 할 필요가 있기 때문에 복사하지 마십시오 (11), 당신은 세그먼트가 특정 함수를 참조하는 데 필요한 코드를 많이 갖기 위해 이해할 수있다.
반영 (12) 코드는 적어도이 코드는 알고 참조 영성의 전체 무엇인지 그 의도를 한눈에 반영 수단. 대신 상형 문자처럼 보이는.
(13) 테스트 자동화에 관계없이 성능 테스트, 단위 테스트, 기능 테스트 또는 그것을 자동화 수동 테스트하기 전에 트리거 조건을 구성하지 않는 방식을 찾는.
(14) 스트레스 테스트를 수행이 지금 말 스트레스 테스트 도구,로드 러너 또는 JMeter를 많이 가지고하지 않았을 전체에 꽤 좋다.
(15) "표절은"사람들이 코드를 작성 좋은, 나쁜 경고 배울 어떻게 다른 배우 부끄러운 아니라, 품질을 인코딩하는 효과적인 방법 중 하나는 또한 자기 향상시킬 수 있습니다.
민첩한 학습 (16) 부착합니다은 소프트웨어 개발 프로세스의 효율성을 향상시킬 수 있습니다.
무거운 중량의 얼굴 (17), 사용자의 제 1면 좋은 파.
(18) 점유율은 자신이 어떻게 코드를 작성하는 것입니다 공유하고, 문제를 해결하기 위해 자신의 방법을 공유하고, 그들의 기술을 공유 할 수 있습니다.
(19) 호기심, 모든 문제 또는 상황이 마음되기 위해서는 왜, 사업이 쉽게 유용한 작업을 할 이어질 수, 요구하지 않는 무거운 작업, 특히 개발.
당신이 연락처 데이터베이스, 당신은 자신의 지식을 확장 할 수있다 등의 접촉 앤드류스, 연락처 IOS 또는 운영 및 유지 보수는,이은을 때 (20) 규모의 일부 기업에 해당-기리 멀티 또 다른 주요 포인트입니다 전체 스택 엔지니어의 개발을위한 하나의 방법.
요약 :
어떤 책에서뿐만 아니라 내 자신의 생각에서, 위 말했다. 나는 우리가 도울 수 있기를 바랍니다.