코드의 추함(13) - 컨테이너 대신 봉인
List<Map<String, String>> configurations;
그러나 이성이 조금만 돌아오면 알아차리기 어렵지 않고 물건이 줄어든다.뭐가 없어졌지?
이 코드를 어떻게 사용하는지 보십시오. 다음은 미리 보기 버전입니다.
for (Map<String, String> configuration : configurations) {
for (Map.Entry<String, String> entry : configuration.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
말하자면 간단하다. 사실 맵에 존재하는 키 값을 맞춰야 한다.대상을 대상으로 하는 프로그램 언어에는 신기한 구조가 있는데, 이를 클래스라고 하는데, 이것은 매우 중요한 특징을 봉인이라고 한다.네, 이 코드는 종류가 적고 봉인이 적습니다.쓸데없는 말은 그만두고 포장해라.
public class ConfigurationItem {
private String name;
private String value;
...
}
그래서 그 용기에 용기를 끼워 넣었다는 성명은
List<ConfigurationItem> configurations;
클래스가 있고 봉인이 있으면 우리는 앞의 코드 안의
entry.getKey() + " " + entry.getValue()
실제로 이 문자열의 표시를 얻기 위해서일 수도 있으니 차라리 방법을 제공하는 것이 낫다.
public class ConfigurationItem {
...
@Override
public String toString() {
return name + " " + value;
}
}
그래서 앞의 이중 for 순환이 바뀌었다.
for (ConfigurationItem item : configurationItems) {
System.out.println(item);
}
단지 추악함으로 말하자면 이 코드는 이런 극치라고 할 수 없다. 삼오층 끼워 넣는 것도 있다. 만약에 담당하는 것처럼 보이는 프로그래머가 각 층의 수치에 비공식 판정을 더한다면 그 장면은 상당히 장관이다.
용기가 용기를 끼워 넣기 시작하면 봉인을 고려하십시오.
저자: 김종국
정엽, ThoughtWorks회사의 수석 컨설턴트는 십여 년의 기업급 소프트웨어 개발 경험을 가지고 각종 프로그램 설계 언어가 실제 소프트웨어 개발에서 발휘할 수 있는 위력을 탐색하는 데 열중하며 합리적인 소프트웨어 개발 방식을 탐색하는 데 주력한다. ThoughtWorks회사에 가입한 후 민첩한 개발 방법의 실천에 들어가 다른 회사에 민첩한 개발 방법에 대한 컨설팅 서비스를 제공한다.그의 블로그는 꿈의 폭풍이고, 웨이보는 @dreamhead이다.
코드의 추함 (13)
장개봉의 본문에 대한 심사에 감사 드립니다.
InfoQ 중국어 사이트에 기고하거나 콘텐츠 번역에 참여하려면[email protected].또한 시나닷컴 웨이보(@InfoQ)나 텐센트 웨이보(@InfoQ)를 통해 우리를 주목하고 우리의 편집자와 다른 독자 친구들과 교류하는 것을 환영합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.