태그 보관물: coding-style

coding-style

Java에서 “좋은 스타일”을 만드는 것은 무엇입니까? [닫은]

나는 Stackoverflow에 대해이 질문을했고, 그것이 무효화되기 전에 Péter Török 으로부터이 게시물을 게시하기에 더 좋은 곳이라는 유용한 제안을 받았습니다.

나는 몇 년 동안 Java로 프로그래밍 해왔다. 나는 종종 ‘좋은 스타일’을 구성하는 것에 기초하여 동료들과 디자인 결정을 논의했습니다. 실제로, ‘좋은 스타일’인지에 따라 디자인을 논의하는 많은 StackOverflow 질문 / 답변이 있습니다.

그러나 ‘좋은 스타일’을 만드는 것은 무엇입니까? 많은 것들과 마찬가지로, 나는 그것을 볼 때 그것을 알고 있지만 …이 디자인이 옳지 않다고 말하는 양심보다 더 나은 아이디어를 원했습니다.

훌륭하고 잘 설계된 코드를 생성하기 위해 어떻게 생각하십니까?

( ‘좋은 스타일’은 현재의 과제에 달려 있기 때문에 이것은 다소 주관적이라는 것을 인정합니다). 또한 팀 스타일에는 관심이 없다고 덧붙여 야합니다. 예를 들어 “우리는 4 개가 아닌 2 칸 들여 쓰기를 사용합니다”그리고 Java 코드 규칙에는 관심이 없습니다.

편집 : 지금까지 좋은 답변 / 의견에 감사드립니다. 나는 프로그래머의 양심 (그리고 아마도 위)을 만드는 것들을 체계화하는 데 도움이되는 답변에 특히 열중하고 있습니까?



답변

몇 가지 간단한 요점 :


답변

Ryan의 목록에 추가 :

  • SOLID 원칙을 따르십시오
  • 코드에 순환 복잡성 이 너무 많지 않은지 확인
  • 테스트 주도 Java는 항상 좋은 것입니다
  • 당신이있는 경우 xFactoryFactory클래스를, 당신은 잘못을하고 있어요 🙂
  • 자바 생태계의 오픈 소스 라이브러리를 고려할 때 바퀴를 재발 명하는 것은 나쁜 스타일입니다.
  • 날짜 및 시간에 Joda 시간 사용

나는 거기서 멈출 것이다.


답변

다른 사람들의 답변을 이해하는 동안 좋은 코드를 작성할 때 생각할 몇 가지 사항 만 공유하는 것이 공평하다고 생각했습니다.

  • 이 클래스 / 메소드 / 변수에 대해 알아야 할 것은 무엇입니까? 즉이 지식은 어디에 살아야 하는가?

  • 이 코드는 애플리케이션의 메모리 / 성능에 어떤 영향을 줄 수 있습니까? ( ‘초기 최적화는 모든 악의 근원’이라는 것을 인정합니다. 따라서 많은 시간을 최적화하는 것이 아니라 처음에는 코드를 작성하는 동안 의식을 제안하는 것이 좋습니다.)

  • (코드 및 코드 구조에서) 이것이 무엇입니까? (나는 사람들이 이해하지 못하도록 노력하고 사람들이 오해하는 것을 불가능하게하려고 노력한다 “라는 격언을 따르려고 노력한다.


답변

적절한 Java 프로그래밍의 훌륭한 예를 보려면 String 및 ArrayList 클래스를 읽으십시오. 그러나 그들은 거의 간결하고 거의 C 스타일이며, 최소한의 Java 문서가있는 유지 관리 가능한 코드에 반드시 적합하지는 않습니다. 내 상점의 일반적인 관행은 주석이 없으므로 상세한 camelCase var 이름을 사용하고 한 줄의 생각을 다른 줄과 구분하기 위해 줄 바꿈을 과도하게 사용하여 코드로 주석을 작성하려고합니다. 나는 여전히 탭을 사용하여 변수를 값과 분리하는 것에 대해 토론합니다. 탭은 가독성, IMO를 향상시킬 수 있지만 최소한으로 만 수행하면 매우 주관적입니다. 관객에 관한 것입니다. 여기에 가장 좋은 대답은 없습니다.


답변