Programing

레거시 코드의 리팩토링 연습을위한 Katas 코딩

crosscheck 2020. 7. 16. 08:14
반응형

레거시 코드의 리팩토링 연습을위한 Katas 코딩


최근 몇 달 동안 카타를 코딩하는 데 관심이 많았습니다. 나는 이것이 프로그래밍 기술을 연마하고 내가 작성한 코드의 품질을 향상시키는 좋은 방법이라고 생각합니다.

Katas를 찾을 수있는 곳이 많이 있습니다. 처럼..

http://codekata.pragprog.com/

http://schuchert.wikispaces.com/Katas

http://www.codingdojo.org/

나는 이것들이 Katas의 훌륭한 저장소라는 것을 알았습니다 ... 그들 중 일부에 대한 나의 시도는 엄청나게 보람을주었습니다.

그러나 지금까지 본 카타의 모든 것이 단기간에 온 것 같습니다. 그들 중 누구도 나쁜 코드 리팩토링을 연습 할 수없는 것 같습니다. 처음으로 깨끗한 코드를 작성하는 방법을 배우는 것이 좋습니다.하지만 현재 직장에서는 새 코드를 작성할 기회가 너무 적습니다. 오히려 나는 종종 레거시 코드와 싸우고 모듈 리팩터링, 종속성 제거 및 커플 링을 줄이는 방법을 알아 내려고 노력하고 있습니다.

따라서 레거시 코드를 리팩토링하고 깨끗한 코드로 변환하는 기술을 연마하는 데 사용할 수있는 Katas 커플을 찾고 있습니다.

누구든지 이미 존재하는 것을 알고 있습니까? 나는 일하는 동안 많은 연습을한다는 것을 알고있다. 그러나 나는 수업에서 의존성을 해체하고 우려를 분리하는 방법을 빨리 볼 수있는 지점으로 기술을 연마하고 싶다. 너무 많이 해


직접 카탈로그를 작성하는 사이트는 모르지만 가끔 사용했던 전략은 다음과 같습니다.

  1. Sourceforge에서 오래되고 작은 유지 관리되지 않은 오픈 소스 프로젝트 찾기
  2. 그것을 다운로드하고 컴파일 / 빌드 / 실행하십시오.
  3. 문서를 읽고 코드에 대한 느낌을 얻으십시오.
  4. 레거시 코드효과적으로 사용하기위한 기술을 사용하여 테스트 중
  5. 버그 수정 및 기능 추가
  6. 4-6 단계 반복

특히 어려운 부분을 찾으면 작업을 버리고 기술을 강화하기 위해 몇 번 반복하십시오.

이것은 리팩토링뿐만 아니라 코드 읽기, 테스트 및 빌드 프로세스 처리와 같은 다른 기술을 연습합니다.

가장 어려운 문제는 계속 작업하기에 충분히 관심이있는 프로젝트를 찾는 것입니다. 내가 작업 한 마지막 것은 유전자 프로그래밍을위한 파이썬 라이브러리이고, 현재 작업중인 것은 Java 용 IRC 라이브러리입니다.


나는 그런 오래된 실에 답하는 네크로맨서와 같은 느낌이 들지만, 합법적 인 추가- 레거시 코드 리 트리트 (Legacy Code Retreat) 한 가지가 있습니다.

아이디어는 레거시 코드 코드 리 트리트 를 수행하고 그러한 코드를 처리하는 기술을 연습하는 것이지만, 준비된 코드를 사용하고 직접 코드로 연습하는 것을 방해하는 것을 볼 수는 없습니다. 골든 마스터를 만드는 데 사용하면 한 시간 동안 작업 할 수 있으며 더 많은 일을 할 수 있습니다. 당신의 카타가 보통 2 시간 정도 지속된다면, LCR에서 일반적으로 일어나는 일을 카타로 나누는 것만으로 네 가지 일을 할 수 있습니다.

있다 GitHub의 저장소 당신이 작업에 있다는 간단한 레거시 시스템, 퀴즈 게임이 포함되어 아이디어의 저자, JB Rainsberger에 의해이.

주최자 / 참가자로서의 경험에서 사람들은 실제로 이것을 좋아했으며 레거시 코드에서 문제가 될 수있는 부분과 리팩토링이 어떻게 당신을 타락으로 이끌 수 있는지를 밝히고있었습니다. Andreas Leidig의 모습에 대한 또 다른 설명이 있습니다.


에밀리 바쉬는 몇 가지 리팩토링 katas와 GitHub의 저장소를 가지고 : 에밀리 바쉬의 리팩토링 카타 리포을 . 리팩토링 할 KataYahtzee 및 KataTennis의 변형이 있습니다. 또한 그녀는 리팩토링 카타로 설계된 Gilded Rose Kata의 변형을 가지고 있습니다.

또한 그녀는 그녀의 저장소에 Racing Car Katas를 가지고 있습니다 : Racing Car Kata . Race Car Katas에는 리팩토링을위한 좋은 연습도 포함되어 있습니다.

이 카타에는 여러 언어로 된 코드가 있습니다.

  • C ++
  • 씨#
  • 자바
  • 자바 스크립트
  • 파이썬
  • 루비

참고 URL : https://stackoverflow.com/questions/1432485/coding-katas-for-practicing-the-refactoring-of-legacy-code

반응형