티스토리 뷰
대분류 - Portability [PORT]
규칙명 - Do not use 'System.getenv()' [PORT.ENV-1]
- System.getenv() 를 이용해서 환경변수를 읽어오려 하지 말라는 것이다.
- 이유는 아래에도 나오겠지만, 모든 플랫폼에서 환경변수를 지원하지는 않기 때문으로, 실제로 jdk 1.4 에서 deprecated 된 메소드이다.
본 규칙은 'System.getenv()' 메소드를 사용하는 경우를 찾아낸다.
모든 플랫폼이 환경변수(Environment variables)를 지원하지는 않기 때문(적어도 HP-UX JVM 에서는 지원하지 않음을 확인했다.)으로 System.getenv() 는 deprecated 된 메소드이다.
단점이라고 해야하나. 어찌됐건 System.getenv() 대신에 System.getProperty()를 사용해야 하는데 이에 따라 Property를 설정해서 사용해야 한다는게 번거로울 수도 있겠다.
System.getenv() 는 deprecated 된, 아마 Windows 에서만 통할만한 메소드.
System.getProperty() 로 수정.
규칙명 - Do not use 'System.getenv()' [PORT.ENV-1]
- System.getenv() 를 이용해서 환경변수를 읽어오려 하지 말라는 것이다.
- 이유는 아래에도 나오겠지만, 모든 플랫폼에서 환경변수를 지원하지는 않기 때문으로, 실제로 jdk 1.4 에서 deprecated 된 메소드이다.
DESCRIPTION
This rule identifies the use of 'System.getenv ()'. An error is reported for each occurrence.
This rule identifies the use of 'System.getenv ()'. An error is reported for each occurrence.
본 규칙은 'System.getenv()' 메소드를 사용하는 경우를 찾아낸다.
BENEFITS
'System.getenv ()' has been "deprecated" because it is not portable. This is because not all platforms have environment variables.
'System.getenv ()' has been "deprecated" because it is not portable. This is because not all platforms have environment variables.
모든 플랫폼이 환경변수(Environment variables)를 지원하지는 않기 때문(적어도 HP-UX JVM 에서는 지원하지 않음을 확인했다.)으로 System.getenv() 는 deprecated 된 메소드이다.
DRAWBACKS
Your users may be unfamiliar with how to change Java properties.
Your users may be unfamiliar with how to change Java properties.
단점이라고 해야하나. 어찌됐건 System.getenv() 대신에 System.getProperty()를 사용해야 하는데 이에 따라 Property를 설정해서 사용해야 한다는게 번거로울 수도 있겠다.
EXAMPLE
package examples.rules.port;
public class ENV {
void method (String name) {
System.getenv (name); // VIOLATION
}
}
package examples.rules.port;
public class ENV {
void method (String name) {
System.getenv (name); // VIOLATION
}
}
System.getenv() 는 deprecated 된, 아마 Windows 에서만 통할만한 메소드.
REPAIR
Use 'System.getProperty ()' and the corresponding 'getTypeName ()' methods of
the "boolean", "integer", and "long" primitive types. This will retrieve Java
system properties instead of environment variables.
package examples.rules.port;
public class ENVFixed {
void method (String name) {
System.getProperty (name); // FIXED
}
}
Use 'System.getProperty ()' and the corresponding 'getTypeName ()' methods of
the "boolean", "integer", and "long" primitive types. This will retrieve Java
system properties instead of environment variables.
package examples.rules.port;
public class ENVFixed {
void method (String name) {
System.getProperty (name); // FIXED
}
}
System.getProperty() 로 수정.
'개발이야기' 카테고리의 다른 글
Eclipse 에서 Javascript 파일의 한글이 깨지는 경우 (1) | 2007.09.10 |
---|---|
웹표준대로 개발하는게 무엇인가 - (1) XHTML 문법 준수 (0) | 2007.08.22 |
[Java : Portability] #2 플랫폼 종속적인 '\n', '\r'을 쓰지마라. (0) | 2007.07.20 |
[Java : Struts Frameworks ] #1 스트럿츠 액션 클래스내에 인스턴스 변수를 만들지 말라 (0) | 2007.07.18 |
[Java : Coding Conventions ] #2 Negative logic 을 사용하지 마라 (0) | 2007.07.13 |
[Java : Coding Conventions ] #1 중첩된 표현식을 사용하지 말것. (0) | 2007.07.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- ActiveX
- 이미지
- JTest
- TyrusServerContainer
- WebLogic
- JavaScript
- Windows
- WsServerContainer
- 할인채
- coding standard
- GDIProcessHandleQuota
- Microsoft
- 이표채
- 채권
- 웹표준
- 의왕
- 파생
- VMware
- 미투데이
- websocket
- prudent
- qaos.com
- SharedSection
- Java
- Internet Explorer 7
- hp-ux
- 본사
- logback
- CODSTA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함