본문 바로가기

TEST

테스트3

1996 년에 나는 JavaSoft에서 일하기 위해 말뚝을 들고 서쪽으로 향했다.

그것이 그 행동이 있었던 곳인 것이 분명했기 때문에 알려졌다. 개입 중

5 년 동안 Java 플랫폼 라이브러리 아키텍트로 일했습니다. 저는 설계, 구현,

많은 도서관을 유지하고 많은 컨설턴트로 활동했다.

다른 사람. Java 플랫폼이 성숙됨에 따라 이러한 라이브러리를 관리하는 것은 일회성 시대였습니다

기회. 내가 같이 일할 특권이 있다고해도 과언이 아니다.

우리 세대의 위대한 소프트웨어 엔지니어 중 일부. 그 과정에서 나는 많은 것을 배웠다.

Java 프로그래밍 언어 (작동하는 언어, 사용하지 않는 언어 및 사용 방법)

언어와 도서관이 가장 효과적입니다.

이 책은 내 경험을 당신과 공유하려는 시도이므로 당신이 모방 할 수 있습니다.

내 실패를 피하면서 나의 성공. 나는 Scott에게서 형식을 빌렸다.

Meyers의 Effective C ++ [Meyers98]은 50 개의 항목으로 구성되어 있으며, 각각은

프로그램 및 디자인을 개선하기위한 하나의 특정 규칙. 형식을 찾았습니다.

독특하게 효과적이기를 바랍니다.

많은 경우에, 나는 실세계로 아이템을 보여줄 자유를 취했다.

Java 플랫폼 라이브러리의 예제. 할 수있는 것을 설명 할 때

더 잘 수행되었으므로, 필자가 직접 작성한 코드를 선택하려했지만 때때로

나는 동료가 쓴 것을 골라야한다. 내 사과에도 불구하고 진심으로 사과드립니다.

최선의 노력, 나는 누구에게 화를 냈습니다. 부정적 사례는 비난하지 말아야한다

머리말 xvii

그러나 협력의 정신으로, 우리 모두는 다음과 같은 경험으로부터 이익을 얻을 수 있습니다.

전에 사라진 사람들.

이 책은 재사용 가능한 구성 요소 개발자만을 대상으로하지는 않지만

지난 2 년 동안 그런 구성 요소를 쓰는 나의 경험에 필연적으로 착색되어있다.

수십 년. 자연스럽게 내 보낸 API (Application Programming

인터페이스), 나는 당신이 똑같이하도록 권장합니다. 당신이 개발하지 않더라도

이러한 용어로 생각하면 재사용이 가능한 구성 요소가

소프트웨어를 작성하십시오. 또한 재사용 가능한 구성 요소를 작성하는 경우는 드뭅니다.

그것을 알지 못하면서 : 당신은 쓸모있는 것을 쓰고, 그것을 당신의 친구와 공유하십시오.

복도 건너편에 있고 오래 전에 사용자가 6 명 있습니다. 이 시점에서

더 이상 API를 자유롭게 변경할 수있는 유연성을 가지며 모든

처음 소프트웨어를 작성했을 때 API를 설계하기위한 노력.

API 디자인에 대한 나의 집중은 새로운 것을 열애하는 사람들에게는 부 자연스러운 것처럼 보일 수 있습니다.

익스트림 프로그래밍과 같은 경량 소프트웨어 개발 방법론

[Beck99]. 이 방법론은 가장 간단한 프로그램 작성을 강조합니다.

가능하게 작동 할 수 있었다. 이러한 방법론 중 하나를 사용하는 경우

API 디자인에 중점을두면 리팩토링 프로세스에 도움이됩니다. 기본

리팩토링의 목표는 시스템 구조의 개선과

코드 중복. 잘 설계되지 않은 상태에서 이러한 목표를 달성하는 것은 불가능합니다.

시스템 구성 요소 용 API

언어는 완벽하지 않지만 일부 언어는 우수합니다. 나는 자바를 발견했다.

프로그래밍 언어와 그 라이브러리는 품질과 기능에 대단히 도움이됩니다.

생산성 및 함께 일할 수있는 기쁨을 제공합니다. 나는이 책이 나의 열정을

더 효과적이고 즐거운 언어 사용을 돕습니다.

많은 디자인 패턴과 관용구를 보여주는 코드 예제가 포함되어 있습니다.

적절한 경우 표준 참조 작업과 상호 참조됩니다.

이 영역 [감마 95].

많은 항목은 연습을 보여주는 하나 이상의 프로그램 예제를 포함합니다.

피해야합니다. 반 패턴이라고도하는 이러한 예는 명확합니다.

"// Never do this!"와 같은 주석이 붙어 있습니다. 각각의 경우 항목

왜 예제가 좋지 않은지 설명하고 대안적인 접근 방식을 제안합니다.

이 책은 초보자를위한 것이 아닙니다. 이미 당신이 편안하다고 가정합니다.

자바 프로그래밍 언어로. 그렇지 않다면 많은 훌륭한 제품 중 하나를 고려하십시오.

소개 문안 [Arnold05, Sestoft05]. 이 책은 접근 가능하도록 설계되어 있지만

언어에 대한 실무 지식을 가진 사람에게는 음식을 제공해야합니다.

고급 프로그래머를위한 생각조차도.

이 책의 대부분의 규칙은 몇 가지 기본 원칙에서 파생됩니다. 명쾌함

단순성이 가장 중요합니다. 모듈의 사용자는

그것의 행동에 결코 놀라지 마십시오. 모듈은 가능한 한 작아야하지만 아니오

더 작다. (이 책에서 사용 된 모듈이라는 용어는 재사용 가능한 모든 소프트웨어를 의미합니다

컴포넌트, 개별 메소드에서부터 복합 시스템

패키지). 코드는 복사되지 않고 재사용되어야합니다. 사이의 의존성

모듈은 최소한으로 유지되어야합니다. 가능한 한 빨리 오류를 발견해야합니다.

그들이 만들어지면, 이상적으로 컴파일 시간에.

이 책의 규칙은 100 %의 시간을 적용하지 않지만,

대다수의 경우에서 최고의 프로그래밍 관행을 특징 짓습니다. 당신

이러한 규칙을 철저히 지켜서는 안되며 가끔씩 만 위반하면 안됩니다.

좋은 이유가있다. 프로그래밍의 예술을 배우는 것은 다른 대부분의 분야와 마찬가지로,

먼저 규칙을 학습 한 다음 규칙을 어기는시기를 학습하는 것으로 구성됩니다.

대부분이 책은 성능에 관한 것이 아닙니다. 그것은 프로그램 작성에 관한 것입니다.

명확하고, 사용 가능하며, 견고하고, 융통성 있으며, 유지 보수가 가능해야합니다. 가능하다면

그렇게하면 일반적으로 필요한 성능을 얻는 것이 비교적 간단합니다.

(항목 55). 일부 항목은 성능 문제를 논의하고 일부 항목은 논의합니다.

성과 번호를 제공하십시오. 이 번호는

"내 컴퓨터에서"는 대략적인 것으로 간주되어야합니다.

가치가있는 것을 위해, 내 컴퓨터는 숙성 된 2.2GHz 듀얼 코어 홈 빌트입니다

AMD Opteron ™ 170 (2 기가 바이트 RAM 탑재, Sun의 1.6_05 릴리스)

Microsoft Windows® XP Professional 꼭대기에있는 Java SE 개발 키트 (JDK)

SP2. 이 JDK에는 2 개의 가상 시스템 인 Java HotSpot ™ Client 및 Server

VM. 성능 수치는 서버 VM에서 측정되었습니다.

'TEST' 카테고리의 다른 글

테스트6  (0) 2017.07.29
테스트5  (0) 2017.07.29
테스트4  (0) 2017.07.29
테스트2  (0) 2017.07.29
테스트1  (0) 2017.07.29