저를 믿으시기 전에 이 기사를 읽으셨으면 좋겠습니다. 그러면 시간과 노력이 많이 절약될 것입니다. 당신이 프로그래밍을 얼마나 잘하는지가 중요하지 않습니다. 대부분의 프로그래머, 심지어 전문가조차도 깨닫지 못한 채 매일 이러한 실수를 합니다. 나는 이것에 많은 정보를 넣으려고 노력했고 당신이 읽는 것을 즐기기를 바랍니다.
1. 하나의 솔루션 문제
한 방향으로만 생각하고 솔루션이 완전히 다른 곳에 있는 것과 같습니다. 예를 들어, Codewars에서 여러 문제를 해결 하고 최종 결과에 도달하는 가장 좋은 방법을 찾고자 합니다. 일반적인 프로그래머는 이미 알고 있는 방법을 사용할 것입니다. 예를 들어 함수는 정렬되지 않은 목록을 가져와서 정렬된 목록을 반환해야 합니다. 이 문제에 대해 초보자는 일반적인 선형 정렬 알고리즘을 사용하고 100만 개 항목이 있는 목록(일부 소셜 미디어 또는 기타의 데이터베이스)이 있을 때까지 문제가 없습니다. 우리는 초 1000 개 운영을위한 컴퓨터의 속도를 가지고가는 경우에, 당신이이 목록을 정렬 할 천초 주위해야한다는 것을 의미하고, 그 A는 많은, 특히 웹사이트에서 가치를 얻고자 하는 사용자에게 적합합니다.
이 상황에서 문제를 해결하는 몇 가지 다른 방법이 있습니다. 빠른 정렬 알고리즘 등을 사용할 수 있습니다. 이는 하나의 예일 뿐이며 자신의 시간 대신 사용자의 시간을 절약할 수 있는 다른 많은 상황이 있습니다(만약 기하급수적으로 가독성을 높이고 몇 번의 코드 스트로크만 필요로 하는 "목록 생성기"를 사용하여 밀리초 단위의 차이가 있습니다.
"일을 제대로 하려면 문제를 해결하는 여러 방법을 이해해야 합니다."
2. 처음부터 모든 것을 구축
자리에 앉을 생각이라면 코드 편집기를 열고 코딩을 시작하면 됩니다. 잠시 후 처음부터 완전하고 완전한 앱을 빌드하게 될 것입니다. 그러면 아무도 그렇게 하지 않는다는 것을 말씀드릴 수 있습니다. 시간과 노력). 작동 방식을 이해하기 위해 계산기와 같은 간단한 프로젝트를 구축하는 경우와 같이 연습이 필요한 초보자는 제외합니다. 당신이 원하는 거의 모든 것을 위해 다른 사람이 이미 잘 작성한 코드를 사용하는 것이 더 낫기 때문입니다. 숫자 X의 계승을 반환하는 함수를 작성하고 싶습니까? 그런 다음 다행히도 스택 오버플로 에는 수많은 라이브러리, 프레임워크 및 코드 가 있어 쉽게 복사하여 붙여넣을 수 있습니다. 하지만 그것이 무엇인지 이해하지 못한다면 하지 말아야 합니다. 왜냐하면 앞서 말했듯이 초보자를 위한 유일한 연습 방법이기 때문입니다.
예를 들어, 웹 개발자 라면 원하는 것을 구축하고 시작하는 방법을 알아내는 데 몇 분을 소비해야 하는 Boostrap 또는 MaterializeCSS 를 사용하는 것이 가장 좋습니다 .
“혼자서 코드를 작성할 필요가 없습니다. 이미 발명된 솔루션을 찾아야 합니다."
3. 혼자 일하기
혼자 작업하는 것은 대부분의 프로그래머에게 가장 어리석은 측면 중 하나입니다. 내 말은, 어떤 종류의 앱을 만들려고 할 때 모든 것을 스스로 하려고 하지만 아무도 모든 것을 알 수 없다는 것을 알아야 하고 디자인, 앱 자체 코딩, 마케팅을 한다면 아마도 다음 단계 중 하나에서 실패할 것입니다. 팀을 만들고 각자의 역할을 부여하는 것이 좋습니다. 포럼과 Discord 서버에서 파트너를 찾았습니다. 저희 팀과 저는 현재 새로운 프로젝트와 방향을 만드는 데 도움을 줄 수 있는 사람을 찾고 있습니다. 이에 대해 더 알고 싶다면 저를 Discord: MarkFusion#2903에 추가하세요.
장점:
- 프로젝트의 각 단계는 높은 수준에 있을 것입니다.
- 모든 것이 훨씬 빠르게 진행될 것입니다.
- 기술 업그레이드(누군가와 함께 일하지 않더라도 훌륭한 것을 만들고 싶다면 미래에 분명히 할 것입니다).
빼기:
- 모든 것을 관리하고 다음에 무엇을 해야 하는지 분석해야 합니다(당신이 리더라면).
- 이익은 모든 직원이 공유합니다.
"다른 사람들과 협력하면 기술이 향상되고 제품이 훌륭해질 것입니다."
4. Git을 제대로 사용하지 않음
프로젝트를 GitHub 또는 기타 유사한 플랫폼에 업로드/커밋하는 것은 회사에서 일하거나 다른 사람에게 포트폴리오를 보여주기 위해 매우 중요합니다. 그리고 이 중요성 때문에 모든 것을 제대로 해야 합니다. 예를 들어, 재미있는 코드를 작성하고 커밋하려고 합니다. 읽을 수 없는 경우 코드를 읽을 사람들에 대해 생각해야 합니다. 그냥 두는 것이 아니라 최적화를 선택해야 합니다. 가독성을 높이려면 다음을 수행해야 합니다.
- 이 코드 블록의 작동 방식을 설명하는 주석을 사용합니다(또한 다음 블록에 추가하려는 내용을 작성하는 데 사용할 수 있음).
- 문서에 설명된 스타일 가이드와 일치시키기 위해(Python의 경우 PIP8임).
- 최대한 코드를 최적화하십시오.
"다른 사람들이 당신의 코드를 어떻게 읽을지 항상 생각하는 것이 중요합니다."
5. 하나의 함수 안에 모든 것을 담다
함수는 한 가지만 하면 되며, 한 함수 안에 여러 작업이나 반복을 넣을 필요가 없습니다. 그것들을 분리하는 것이 훨씬 쉽고 더 나을 것이며 각 기능이 무엇을 하는지 알게 될 것이고 남은 것은 그것을 구현하는 것뿐입니다. 모든 것에 대해 하나의 기능을 사용할 때 " 및 "또는 " 또는 " 과 같은 그다지 좋지 않은 작업을 사용해야 할 것입니다 . 또한 더 읽기 쉽고 우리가 이미 알고 있듯이 다른 코더에게 더 좋습니다.
"단 하나의 목적을 가진 함수를 작성해야 합니다."
6. 올바른 목표 선택
처음에 Facebook을 죽일 앱을 만들거나 이 앱으로 얼마나 많은 돈을 벌 수 있을지 생각하지 마십시오. 그 점에서 큰 실패가 될 수 있기 때문입니다. 제 말은, 만약 당신이 막 배우기 시작했다면 “ Discord.py 라이브러리를 배우고 음악을 재생할 Discord용 봇을 만드십시오. ”와 같은 목표를 선택하십시오 . 또는 이미 잠시 동안 IT 영역에 있는 경우 이 프로젝트에서 얻을 돈에 대해 생각할 필요가 없습니다. 돈이 당신의 목표라면 당신이 하는 모든 것은 돈을 벌기 위한 것일 뿐이며 앱을 더 잘 빌드하는 방법이나 디자인을 더 예쁘게 만드는 방법에 대해 생각하지 않을 것입니다.
"올바른 목표를 선택하면 많은 시간과 노력을 절약할 수 있습니다."
7. 학습 사이에 너무 많은 시간
프로그래밍 언어나 새로운 프레임워크를 배우기로 결정했다면 꾸준히 해야 합니다. 이 새로운 기능을 배울 시간을 강조 표시하거나 " Django 학습에 1시간 투자 "와 같은 일일 목표를 세우십시오 . 다시 말해서 꾸준하지 않다면 새로운 것을 배우고 일주일 동안 쉬다가 최근에 배운 거의 모든 것을 잊고 아주 작은 지식으로 다시 시작하게 될 것입니다.
"가능한 한 일관성을 유지하려고 노력하십시오."
결론
이것은 거의 모든 프로그래머가 저지르고 피해야 할 7가지 매우 일반적인 실수입니다. 특히 기능 및 단독 작업에 대한 내 비전에 동의하지 않을 수 있습니다. 아래 의견에서 이 주제에 대해 기꺼이 이야기하겠습니다. 이 글을 재미있게 읽으셨기를 바랍니다. :)
'Study > 개발 Tip' 카테고리의 다른 글
Nginx SSL 발급하기 (자동갱신) (0) | 2021.11.23 |
---|---|
프로그래머가 다른 사람과 다르게 생각하는 12가지 방법 (0) | 2021.11.12 |
OpenSSL 사용 | 설치방법 (0) | 2021.10.25 |
WebRTC Resource | WebRTC 리소스 모음 (0) | 2021.09.22 |
나만의 개발 빌드 (0) | 2021.09.18 |