CodeGym /Java Blog /무작위의 /개인적인 경험을 통해 입증된 코드를 개선하는 10가지 방법
John Squirrels
레벨 41
San Francisco

개인적인 경험을 통해 입증된 코드를 개선하는 10가지 방법

무작위의 그룹에 게시되었습니다
CodeGym 커뮤니티의 여러분 안녕하세요! 개인적인 경험을 통해 입증된 코드를 개선하는 10가지 방법 - 1오늘 우리는 코드 품질에 대해 이야기할 것입니다. 예, 친애하는 친구. 그 누구도 완벽하지 않아. 누구나 어느 시점에서 코드가 더 나을 수 있다는 것을 깨닫습니다... 하지만 이 상황에서 어떻게 해야 할까요? 최소한 이 문제를 조사하기 시작하십시오. 그러나 당신은 이미 여기에 있습니다. 즉, 주제가 당신의 관심을 끌 것이므로 가자. 오늘 우리는 코드를 더 좋고 깔끔하게 만드는 방법을 설명할 것입니다. 따라서 미래에 현재 코드를 부끄러워하지 않을 것입니다! :) 이 모든 방법은 프로그래머가 좋은 프로그래머가 되는 데 도움이 될 것입니다.개인적인 경험을 통해 입증된 코드를 개선하는 10가지 방법 - 2

1. 코드를 개선하고 싶다면 다른 사람의 코드를 읽어보세요.

프로그래밍 기술을 극적으로 향상시키려면 다른 프로그래머가 작성한 코드를 읽어야 합니다. 나를 믿거 나 말거나. 하지만 위험을 무릅쓰면 시간을 보낸 만큼 보상을 받을 수 있다고 약속합니다. 예를 들어 HashMap, ArrayList, LinkedList 등이 어떻게 작동하는지 medium.com에서 읽지 마십시오. 대신 소스 코드를 읽고 직접 파악하십시오. 읽을 클래스 목록은 다음과 같습니다.
  • 인터뷰에서 가장 자주 묻는 질문은 HashMap에 관한 것입니다. 하나의 돌로 두 마리의 새를 죽일 수 있습니다. 코드를 이해하고 필요한 지식을 얻을 수 있습니다.
  • ArrayList에 대해서도 마찬가지입니다. 복잡한 것은 없지만 소스 코드는 정말 읽고 이해할 가치가 있습니다.
  • 문자열이 좋은 예입니다. 불변인 이유를 이해하십시오.
  • AtomicInteger는 멋진 클래스입니다. Integer 객체에 대한 원자 연산을 정의합니다.
  • 그 후에는 모든 클래스를 차례로 나열할 수 있습니다. :)
더 심각한 것은 Pivotal의 코드를 읽어야 한다는 것입니다. 그곳의 사람들은 Java 세계에서 가장 수요가 많은 생태계를 작성했습니다. 그들의 코드는 확실히 읽을 가치가 있습니다. Spring Core 로 시작하는 것이 좋습니다 . 익숙하지 않은 소스 코드를 읽는 것은 어렵지만 보람 있는 작업입니다. :)

2. 코드 규칙을 따르십시오.

개인적인 경험을 통해 입증된 코드를 개선하는 10가지 방법 - 3코딩 규칙은 개발 팀에서 만든 일련의 지침입니다. 여기에는 코드의 모든 측면에 대한 코딩 스타일 및 기술에 대한 지침이 포함됩니다. 이러한 규칙은 회사 전체 또는 특정 프로젝트를 위해 작성될 수 있습니다. 코딩 규칙은 일반적으로 각 프로그래밍 언어에 따라 다르며 파일 구성, 들여쓰기, 주석, 선언, 연산자, 공백, 명명 규칙, 프로그래밍 기술 및 원칙, 프로그래밍 규칙, 아키텍처 모범 사례 등을 포함합니다. 특정 표준의 주요 이점은 코드가 동일하게 보이고 동일한 스타일로 작성된다는 사실입니다. 이렇게 하면 가독성이 높아지고 프로그래머가 다른 프로그래머가 작성한 코드를 이해하는 데 도움이 됩니다. 개발 과정 전반에 걸쳐 코딩 표준을 준수하고 일관되게 적용한다면, 앞으로는 코드를 유지 및 확장하고, 리팩토링하고, 통합 충돌을 해결하는 것이 더 쉬워질 것입니다. 코딩 규칙은 여러 가지 이유로 프로그래머에게 중요합니다.
  • 소프트웨어 비용의 40-80%는 유지 관리에 사용되며,
  • 거의 모든 소프트웨어는 작성자가 평생 동안 유지 관리하지 않습니다.
  • 코딩 규칙은 프로그래머가 새 코드를 더 빨리 이해할 수 있도록 하여 소스 코드의 가독성을 향상시킵니다.
솔직히 저는 코딩 표준의 열렬한 팬입니다. 미래에 시간과 노력을 절약할 수 있는 귀중한 활동이기 때문에 그들에 대해 토론하고 논쟁하는 데 시간을 보내는 것이 나에게는 의미가 있습니다. 코드 규칙은 자주 검토해야 합니다. 규칙은 "필수"에서 "선택"으로 또는 그 반대로 변경할 수 있습니다. 그들 중 일부가 예상대로 작동하지 않으면 지침에서 수정하거나 제거해야 합니다.

3. 코드 리뷰 사용

코드 검토는 코드 개선을 위한 가장 강력한 도구 중 하나입니다. 개인적인 경험을 통해 입증된 코드를 개선하는 10가지 방법 - 4왜? 코드를 작성하지 않은 전문가가 코드를 검토하기 때문입니다. 그리고 신선한 모습은 매우 유용합니다. 그리고 코드 검토는 종종 ​​끔찍한 코드 작성을 방지하는 데 도움이 됩니다. 코드 리뷰를 해줄 다른 사람을 찾아야 하기 때문에 코드 리뷰가 항상 가능한 것은 아니라는 것을 알고 있습니다. 그러나 이것이 이 도구 사용을 건너뛰어야 한다는 의미는 아닙니다. 정반대입니다. 코드 리뷰는 코드의 품질을 개선해야 하는 같은 생각을 가진 사람들을 찾는 이유입니다. 그건 그렇고, 여기 CodeGym에서 그들을 찾는 것을 누가 막을 수 있습니까? 모두가 프로그래머가 되고 싶어하는 곳.

4. 단위 테스트 작성

코드를 개선하기 위해 제가 가장 좋아하는 기술은 확실히 단위 테스트를 작성하는 것입니다. 더 많이 쓸수록 좋습니다. 컴퓨터 프로그래밍에서 단위 테스트는 단위라고 하는 테스트 가능한 가장 작은 소스 코드 조각을 개별적으로 독립적으로 테스트하여 예상대로 작동하는지 확인하는 소프트웨어 개발 프로세스입니다. 이렇게 하면 코드를 릴리스하기 전에 알고리즘 및/또는 로직의 오류를 발견하는 데 도움이 됩니다. 단위 테스트에는 코드를 적절하게 구조화해야 하므로 코드를 더 작고 더 집중된 기능으로 분할해야 합니다. 여러 작업을 수행하는 큰 기능이 아니라 각각이 데이터 세트에 대한 단일 작업을 담당합니다( 단일 책임 원칙).인사...). 잘 테스트된 코드를 작성하는 두 번째 이점은 기존 기능을 약간 변경할 때 코드가 손상되는 것을 방지할 수 있다는 것입니다. 단위 테스트가 실패하면 무언가 잘못 작성되었음을 알려줍니다. 언뜻 보기에 단위 테스트를 작성하는 데 소요되는 개발 시간은 추가 비용처럼 보입니다. 그러나 단위 테스트는 향후 디버깅 시간을 절약할 것입니다. 이는 단계별 프로세스여야 합니다. 그러니 미소를 지으며 앞으로 나아갑시다 — 우리는 모든 메소드와 클래스에 대한 테스트를 작성할 것입니다 :D

5. 도구를 사용하여 코드 품질 향상

한 번도 실수하지 않은 개발자는 없습니다. 일반적으로 컴파일러는 구문 및 산술 문제를 포착하고 스택 추적을 표시합니다. 그러나 일부 문제는 여전히 컴파일러가 포착하지 못하는 표면에 나타날 수 있습니다. 예를 들어, 부적절하게 구현된 요구 사항, 잘못된 알고리즘, 잘못 구조화된 코드 또는 커뮤니티가 경험을 통해 알고 있는 기타 잠재적인 문제입니다. 이와 같은 오류를 잡을 수 있는 유일한 방법은 선배 개발자에게 코드 검토를 요청하는 것입니다. 그러나이 접근 방식은 만병 통치약이 아니며 많이 변경되지 않습니다. 팀의 모든 신입 개발자에게는 자신의 코드를 살펴보는 별도의 눈이 있어야 합니다. 다행히도 코드 품질을 제어하는 ​​데 도움이 되는 많은 도구가 있습니다. 다양한 프로젝트 작업에 Checkstyle, PMD, FindBugs 및 SonarQube를 사용했습니다. 그리고 다른 것들도 있습니다. 이들은 모두 일반적으로 코드 품질을 분석하고 유용한 보고서를 생성하는 데 사용됩니다. 매우 자주 이러한 보고서는 Jenkins와 같은 지속적인 통합 서버에 의해 게시됩니다.

6. 간단하고 직관적인 코드 작성

개인적인 경험을 통해 입증된 코드를 개선하는 10가지 방법 - 5항상 간단하고 이해하기 쉬우며 논리적인 코드를 작성하십시오. 사람들은 자신이 할 수 있다는 것을 증명하기 위해 복잡한 코드를 작성하는 경향이 있습니다. 단순하고 논리적인 코드는 항상 잘 작동하고 문제가 적으며 확장성이 뛰어납니다. 좋은 코드는 최고의 문서입니다. 주석을 추가할 생각이 있다면 스스로에게 물어보십시오. "이 주석이 필요하지 않도록 코드를 어떻게 개선할 수 있습니까?" — 스티브 맥코넬.

7. 문서 읽기

개인적인 경험을 통해 입증된 코드를 개선하는 10가지 방법 - 6좋은 프로그래머의 가장 중요한 습관 중 하나는 문서를 많이 읽는 것입니다. 사양, JSR, API 문서, 자습서 등 무엇이든 설명서를 읽으면 최고의 프로그래밍을 위한 견고한 기반을 구축하는 데 도움이 됩니다. 마지막으로 다른 사람과 자신을 비교하지 마십시오. 자신을 다른 사람과 비교하는 것은 부정적인 감정과 건전하지 못한 경쟁으로 이어질 뿐입니다. 사람마다 자신만의 강점과 약점이 있습니다. 이것은 그들을 알고 그들과 함께 일하는 것이 중요하다는 것을 의미합니다. 자신의 목록을 작성하고 강점을 나열하고 작업하십시오. 프로그래밍은 진정한 즐거움입니다. 즐기십시오.

"한 사람의 상수는 다른 사람의 변수입니다."

앨런 J. 펄리스

8. 흥미로운 블로거 팔로우

전 세계 수천 명의 애호가들이 동일한 기술로 작업하고 이에 대해 글을 씁니다. 블로그는 프로그래머가 직접 작성하는 경우가 많으며 대부분 개인적인 의견과 경험을 공유합니다. 블로그를 통해 동일한 기술에 대한 다른 관점을 볼 수 있습니다. 블로그에서 좋은 기술과 나쁜 기술을 모두 볼 수 있습니다. 최소한 Coding Dojo 블로그와 CodeGym에서 기사를 읽어보세요 :) 좋은 블로그를 팔로우하고 게시물에 댓글을 달고 의견을 공유하세요.

9. 직업에 관한 책 읽기

좋은 책을 대신할 수 있는 것은 없습니다. 좋은 책은 훨씬 간단한 형태로 기본 개념을 가르치고 실제 세계에 적용됩니다. 저자는 훌륭한 프로그래머 그 자체입니다. 책을 읽으면 다른 사람의 경험에서 배울 수 있습니다. Joshua Bloch의 "Effective Java"를 읽어 보시기 바랍니다. 이 책은 프로그래머를 위한 78가지 필수 규칙, 즉 매일 직면하는 프로그래밍 문제에 대한 최상의 작업 솔루션을 제시합니다. 여기에는 효과적이고 잘 설계된 프로그램을 작성하기 위한 가장 실용적이고 권위 있는 지침이 포함되어 있습니다. Java를 이제 막 시작했고 프로그래밍 경험이 없다면 "Sams Teach Yourself Java 2 in 24 Hours"를 읽을 수 있습니다. 그리고 깨끗한 코드를 작성하기 위해 Robert Martin이 쓴 "Clean Code"라는 훌륭한 책이 있습니다. 그것을 읽은 후,

10. 코드! 암호! 암호!

책을 암기하는 것만으로는 좋은 프로그래머가 될 수 없습니다. 이론적 개념에 대해 이야기하는 것은 쉽습니다. 그러나 언어의 한계를 배우거나 코드를 작성할 때 모범 사례를 찾아낼 수 있습니다. 따라서 좋은 프로그래머가 되려면 많은 코드를 작성해야 합니다. 초보자라면 피보나치 수열, 회문, 파스칼의 삼각형 등과 같은 간단한 작업을 위한 프로그램을 작성하는 것부터 시작하십시오. 그런 다음 이진 검색 트리 등과 같은 더 큰 작업으로 이동하십시오. Java 연습을 위한 온라인 플랫폼을 찾고 있는 경우 프로그램은 Coding Ground를 살펴보십시오 . 프로그래밍 과정을 통해 작업하면 기술이 훨씬 더 좋아질 것이라고 장담합니다. 또 다른 옵션은 무료인 Harvard CS50 과정을 수강하는 것입니다.

요약하자

실수하지 않는 사람은 아무것도 하지 않는 사람이다. 그래서 우리는 인내심을 갖고 열심히 일하는 메뚜기처럼 코딩 기술을 연마합니다. 이렇게 하려면 다음을 잊지 마세요.
  • 다른 사람의 코드 읽기
  • 코드 리뷰 제공 및 요청
  • 단위 테스트 작성
  • 도구를 사용하여 코드 개선
  • 간단하고 이해하기 쉬운 코드 작성
  • 할 수 있는 사람들이 작성한 문서를 읽으십시오.
  • 흥미로운 프로그래머 팔로우
  • 직업에 관한 책 읽기
  • 암호! 암호! 암호!
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION