Java 프로그래머가 따라야 할 규칙이나 모범 사례가 많이 있습니다. 이 문서에서는 모든 개발자가 따라야 하는 가장 중요한 10가지 규칙 또는 지침을 따르지 않으면 치명적인 결과를 초래할 수 있습니다.
1. 코드에 주석을 추가하세요._모두가 알고 있지만 모두가 그렇게 하는 것은 아닙니다. 메모를 추가하는 것을 몇 번이나 "잊었습니까"? 실제로 주석은 프로그램에 어떤 기능도 추가하지 않습니다. 하지만 2주 전에 작성한 코드를 보고 그 코드가 무엇인지 기억하지 못하는 경우가 몇 번이나 있습니까? 운이 좋으시군요. 주석 처리되지 않은 코드는 귀하가 직접 작성한 것이며, 여전히 마음 속에 남아있는 인상을 남기고 있습니다. 불행하게도 대부분의 경우 코드는 다른 사람이 작성한 것이고, 그 사람은 아마도 회사를 떠났을 것입니다. "What is around, came around"라는 속담이 있습니다. 따라서 프로그래머는 서로(그리고 자신)를 배려하고 코드에 주석을 추가해야 합니다.
2. 단순한 일을 복잡하게 만들지 마세요(Donotcomplicatthings)._저는 전에도 이런 일을 했고 여러분도 마찬가지라고 믿습니다. 개발자는 단순한 문제를 복잡한 방식으로 해결하는 경향이 있습니다. 사용자가 5명뿐인 시스템에 EJB를 도입하고, 프레임워크가 필요하지 않은 애플리케이션을 위한 프레임워크를 구현하고, 속성 파일을 사용하고, 객체지향 솔루션을 사용하고, 전혀 필요하지 않은 스레드를 사용했습니다. 왜 이런 일을 하는가? 어떤 사람들은 더 나은 해결책이 있다는 것을 모를 수도 있지만, 다른 사람들은 새로운 것을 배우기 위해 의도적으로 그렇게 하거나 단지 재미있어서 그렇게 할 수도 있습니다. 더 나은 솔루션을 모르는 사람들은 숙련된 프로그래머의 조언을 들어보세요. 순전히 개인적인 목적으로 디자인을 복잡하게 만드는 분들에게는 좀 더 전문적으로 작업하시기를 제안합니다.
3. 기억하세요 - "Lessis more"가 항상 더 좋은 것은 아닙니다(KeepinMind_"Lessismore"가 항상 더 좋은 것은 아닙니다)._ 효율적인 코드는 좋은 것이지만 많은 경우에 코드의 줄이 적다는 것이 아닙니다. 코드 효율성이 높아집니다.
4. "하드코딩"하지 마십시오(Nohardcodingplease)._시간 제약으로 인해 개발자는 항상 이 항목을 잊어버리거나 의도적으로 무시합니다. 그러나 또 다른 가능성은 이 계명을 따르면 우리가 “시간의 압박”에 갇히지 않을 것이라는 점입니다. staticfinal 변수를 정의하고 코드 한 줄을 추가하는 데 시간이 얼마나 걸리나요?
5. 자체 프레임워크를 만들지 마세요._이미 수천 개의 프레임워크가 있으며 대부분이 오픈 소스라고 해도 과언이 아닙니다. 많은 프레임워크는 완벽한 솔루션이며 수천 개의 시스템에서 사용되었습니다. 우리는 최신 인기 프레임워크에 집중하고 최소한 표면적으로는 익숙해지면 됩니다. 가장 성공적이고 널리 사용되는 예 중 하나는 Struts 프레임워크입니다. 이 오픈 소스 웹 프레임워크는 웹 시스템을 구축하는 데 탁월한 선택입니다. 자신만의 Struts 버전을 구축하려고 하면 지칠 것입니다. 하지만 2번 계명을 기억해야 합니다. (번역: 원문은 "3번"이며 분명히 잘못된 것입니다.) - 간단한 것을 복잡하게 만들지 마십시오. 개발하려는 시스템에 인터페이스가 3개만 있는 경우 Struts를 사용하지 마십시오. 이러한 시스템의 경우 "제어"해야 할 사항이 충분하지 않습니다. (주석: Struts는 인터페이스를 MVC로 나누고 C는 컨트롤러, 그래서 저자는 "통제"가 많이 필요하지 않다고 말했습니다.)
6. 줄이나 문자열 인쇄를 거부합니다(줄 및 문자열 연결 인쇄를 거부)._프로그래머는 디버깅의 편의를 위해 어디에서나 System.out.println을 사용하고 삭제하는 것을 알고 있습니다. 스스로 말한 후.
그러나 우리는 종종 이 줄을 삭제하는 것을 잊어버리거나 삭제하고 싶지 않습니다. 테스트를 위해 System.out.println을 사용합니다. 왜 테스트 후에 코드를 변경해야 합니까? Java 과정에서는 이로 인해 필요한 코드 줄이 실수로 삭제될 가능성이 있다고 생각합니다. System.out.println의 위험성을 과소평가하지 마십시오.