나는 실제로 큰 프로젝트를 쓰지 않습니다. 나는 거대한 데이터베이스를 유지하거나 수백만 줄의 코드를 처리하지 않습니다.
내 코드는 주로 "스크립트"유형의 물건입니다. 수학 함수를 테스트하거나 "과학적 프로그래밍"을 시뮬레이션하는 것입니다. 내가 지금까지 노력한 가장 긴 프로그램은 수백 줄의 코드이며, 내가 작업하는 대부분의 프로그램은 약 150입니다.
내 코드도 쓰레기입니다. 내가 전에 쓴 파일을 찾으려고했던 다른 날에 이것을 깨달았지만 아마도 덮어 썼고 버전 컨트롤을 사용하지 않는다는 사실을 깨달았습니다.
내 코드의 스타일은 복잡하고 다른 방법이나 코드 행을 복사하여 대체 할 수있는 오래된 주석으로 채워져 있습니다. 변수 이름은 항상 매우 훌륭하고 설명 적이지만, 예를 들어 누군가 테스트하고 싶은 새로운 것을 추가하거나 변경함에 따라 코드가 맨 위에 겹쳐지고 덮어 쓰여 지며이 문제는 이제 빨리 테스트해야한다고 생각하기 때문에 crappy 변수 이름을 사용하기 시작하는 프레임 워크가 있고 파일이 팟에 들어갑니다.
제가 지금 진행하고있는 프로젝트에서 저는이 모든 것이 저를 크게 물려주는 단계에 있습니다. 그러나 문제는 (버전 제어를 사용하고 새로운 반복마다 새 파일을 만들고 어딘가에 텍스트 파일로 기록하는 것 외에 상황을 극적으로 도움이 될 것입니다)을 개선하는 방법을 모르겠습니다. 내 실제 코딩 스타일.
더 작은 코드를 작성하려면 단위 테스트가 필요합니까? OOP는 어때요? 더 큰 프로젝트에서 작업하는 대신 "과학적 프로그래밍"을 수행 할 때 좋고 깨끗한 코드를 신속하게 작성하는 데 어떤 종류의 접근 방식이 좋습니까?
나는 종종 프로그래밍 자체가 그렇게 복잡하지 않기 때문에 이러한 질문을한다. 프로그래밍으로 테스트하거나 연구하는 것은 수학이나 과학에 관한 것입니다. 예를 들어, 두 변수와 함수가 아마 그것을 처리 할 수있을 때 클래스가 필요한가? (이것은 일반적으로 프로그램의 속도가 더 빠른쪽에있는 것이 바람직한 상황이라고 생각합니다. 시뮬레이션의 25,000,000 회 이상의 시간 단계를 실행할 때는 다소 필요합니다.)
아마도 이것은 너무 광범위하고, 그렇다면 사과를 드리지만 프로그래밍 서적을 살펴보면 더 큰 프로젝트에서 종종 다루어지는 것 같습니다. 내 코드에는 OOP 가 필요 하지 않으며 이미 너무 짧아서 "아, 그러나 그렇게하면 파일이 천 줄씩 줄어 듭니다!" 작고 빠른 프로젝트에서 "다시 시작"하고 깨끗하게 프로그래밍하는 방법을 알고 싶습니다.
좀 더 구체적인 세부 사항을 제공하게되어 기쁘지만 조언이 많을수록 더 유용합니다. 파이썬 3으로 프로그래밍 중입니다.
누군가가 사본을 제안했습니다. 표준 프로그래밍 표준을 완전히 무시하는 것에 대해 이야기하고 있지 않다는 것을 분명히하겠습니다. 분명히 이러한 표준이 존재하는 이유가 있습니다. 그러나 다른 한편으로, 일부 표준 작업이 완료되었을 때 작성이 훨씬 빨 랐을 때 코드가 OOP라고하는 코드를 작성하는 것이 실제로 의미가 있습니까? 프로그램?
예외가 있습니다. 또한 단순한 표준 이상의 과학적 프로그래밍 표준이있을 수 있습니다. 나는 그들에 대해서도 묻는다. 과학 코드를 작성할 때 정상적인 코딩 표준을 무시해야하는지가 아니라 깨끗한 과학 코드를 작성하는 것입니다.
최신 정보
방금 "일주일이 아닌"업데이트를 추가 할 것이라고 생각했습니다. 당신의 모든 조언은 매우 도움이되었습니다. 나는 그래픽 제어를 위해 git kraken과 함께 버전 제어-git을 사용하고 있습니다. 사용하기 매우 쉽고 내 파일을 크게 정리했습니다. 더 이상 오래된 파일이 붙어 있거나 이전 버전의 코드가 "경우에 따라"주석 처리되지 않았습니다.
또한 pylint를 설치하고 모든 코드에서 실행했습니다. 한 파일은 처음에 음의 점수를 받았습니다. 그게 어떻게 가능한지 잘 모르겠습니다. 내 주요 파일은 ~ 1.83 / 10의 점수에서 시작했으며 현재 ~ 9.1 / 10입니다. 모든 코드는 이제 표준을 준수합니다. 또한 사라진 변수 이름을 업데이트하고 리팩토링 할 섹션을 찾는 내 자신의 눈으로 그것을 뛰어 넘었습니다.
특히, 나는이 사이트에서 최근 주요 기능 중 하나를 리팩토링하는 것에 대해 최근 질문을했으며 이제는 훨씬 깨끗하고 훨씬 짧습니다. 길고 부풀어 오르면 채워진 함수 대신 이제 절반 미만 크기와 진행 상황을 파악하기가 훨씬 쉽습니다.
다음 단계는 일종의 "단위 테스트"를 구현하는 것입니다. 내 주 파일에서 실행할 수있는 파일을 의미합니다. 어설 션 문과 시도 / 제외로 모든 기능을 볼 수 있습니다. 아마도 최선의 방법은 아니며 중복 코드가 많이 생성됩니다. 그러나 나는 계속해서 읽고 더 잘하는 방법을 알아 내려고 노력할 것입니다.
또한 이미 작성한 설명서를 크게 업데이트하고 Excel 스프레드 시트, 설명서 및 관련 용지와 같은 보충 파일을 github 저장소에 추가했습니다. 이제는 실제 프로그래밍 프로젝트처럼 보입니다.
그래서 ... 이것이 전부라고 생각 합니다 . 감사합니다 .