주요 콘텐츠로 건너뛰기

훌륭한 프로그래머와 단순히 좋은 프로그래머를 구분하는 것에 대해 생각해 보았습니다. 다음은 몇 가지 생각입니다. 당신은 몇 가지 추가 생각이있는 경우, 로그인하고이 게시물에 댓글을 달아주세요,

1. 코딩 단계에 관한 것이 아닙니다.

물론, 위대한 프로그래머는 또한 훌륭한 코더입니다. 하지만 그 이상입니다. 훌륭한 프로그래머들도 훌륭한 엔지니어라고 생각합니다. 엔지니어는 자신의 도구를 알고 있습니다. 엔지니어는 복잡한 문제를 해결할 수 있는 조각으로 분해하는 방법을 알고 있으며, 조각을 다시 조립하여 전체를 구성하는 방법을 알고 있습니다. 엔지니어는 문제 도메인을 친밀하게 알고 있습니다. 프로그래밍의 맥락에서 이는 해결하려는 문제를 이해한다는 것을 의미합니다. 당신은 더 큰 프레임 워크에 맞는 방법을 이해; 그리고 당신은 기술의 한계를 이해합니다.

2. 코딩 단계에 관한 것입니다.

훌륭한 코드를 읽는 것은 잘 쓰여진 소설을 읽는 것과 같습니다. 이야기는 페이지 에서 흐릅니다. 데이터 구조는 문제를 해결하는 데 필요한 바로 그 것입니다. 코드는 이름, 사용 및 코드에서 함수가 명확한 프로시저로 나뉩니다. 이름은 설명이 있습니다. 코드는 일관되게 들여쓰기됩니다. 주석은 전략적으로 배치되고, 도움이 되고, 심각하며, 실행 가능한 코드와 중복되지 않습니다. 댓글은 근처 코드의 동작에 의문을 제기하지 않습니다 (당신이 이제까지이 작업을 수행 하려는 유혹 하는 경우, 중지 하 고 대신 무슨 일이 일어나고 있는지 알아내기 위해 시간을 내어!) 코드는 불필요하게 중복되지 않습니다. 지정된 작업은 한 번만 구현됩니다. 함수는 무상 부작용없이 작업을 수행합니다. 명백한 미래 개선에 대한 생각이 주어졌으며, 현재 설계에서 이를 예측하기 위한 합리적인 조항이 만들어졌습니다.

3. 그들은 두려움이 없습니다.

너무 복잡하거나 너무 취약하다고 생각하기 때문에 코드 조각에서 작동하지 않는 프로그래머는 아마도 옳을 것입니다. 그러나 그들은 코드를 언급하지 않습니다. 그들은 자신의 능력을 언급하고 있습니다! 훌륭한 프로그래머는 혼란에 직면했을 때, 문제의 으스스한 코드를 다시 구현할 때라는 것을 경영진에게 사례를 작성하는 시기와 방법을 알고 있습니다. 최악의 프로그래머는 단순히 다이빙과 혼란을 악화.

4. 위대한 프로그래머는 항상 성능에 대해 생각하고 있습니다.

그들은 당면한 작업에 적합한 데이터 구조를 선택하면 이미 대부분의 성능 문제를 피했다는 것을 알고 있습니다. 그러나 그들은 성능에 대한 가정을하지 않습니다. 코드를 디버깅하면 시간 동안 스트레스 테스트를 실행하고 최대 스로틀에서 흔들어 줍니다. 그들은 1 TPS에서 작동하는 코드를 얻는 것은 1000 TPS에서 작동하도록 얻는 것과 동일하지 않다는 것을 이해합니다. 그들은 또한 15 분 동안 작동하도록 얻는 것은 며칠 및 몇 주 동안 작동하도록 하는 것과 동일하지 않다는 것을 이해합니다.

5. 위대한 프로그래머는 추측하지 않습니다.

그들이 알아야 할 것에 도달하면, 그리고 모르는, 그들은 추측하지 않고 필요한 지식을 습득하는 방법을 알아내며 많은 시간을 낭비하지 않습니다.

난 당신이 흥미로운이 목록을 찾을 수 있기를 바랍니다, 또한 도움이.

© 2024 스트라투스 테크놀로지스.