코딩 효율성을 높이는 8가지 간단한 요령

이 페이지의 링크에서 서비스에 가입하면 Reeves and Sons Limited가 수수료를 받을 수 있습니다. 우리의 윤리 성명서.

소프트웨어 게시자 사이에서 발생한 이상한 현상이 있습니다. 무엇이 품질 제품을 더 좋게 만드는지에 대한 사람들의 이해를 뒤집는 경향이 있는 것 같습니다. 또는 적어도 마케팅을 수행하는 사람들에게는 이것이 사실입니다. "그들의 제품에는 백만 줄의 코드가 있지만 우리 제품에는 XNUMX백만 줄이 있으므로 우리 제품이 더 좋아야 합니다."

"더 많은 것이 더 많은 것"이라는 생각이 어디에서 왔는지 아무도 모릅니다. 과거에 모두가 "적은 것이 더 많은 것"이라는 철학을 만들기 위해 열심히 노력하고 있었을 때 말입니다. 많은 작가들이 큰 숫자를 인용하여 청중에게 깊은 인상을 주려고 하기 때문에 아마도 소비자 등급 저널리즘에서 시작되었을 것입니다. 대부분의 경우 이것은 작동합니다. 이 작은 플래시 드라이브는 200테라바이트의 데이터를 저장하고 CPU는 초당 48억 개의 명령을 처리할 수 있으며 작성자는 항상 동일한 내용이 소스 코드에 적용되지 않는다는 것을 이해할 만큼 기술적으로 정통하지 않습니다.

그러나 코딩의 효율성은 타이트한 알고리즘을 만드는 것만이 아닙니다. 쓰레기를 줄일 수 있다는 것도요. 이것은 문제를 해결하는 데 소비하는 시간의 낭비, 너무 많은 컴퓨터 리소스를 소비하는 시간의 낭비, 주말까지 팀이 사무실 주변에 쌓아둔 피자 상자의 수의 낭비를 의미합니다. 이상적으로는 이 모든 것을 줄이고 싶을 것입니다.

따라서 이 기사에서 살펴볼 내용은 효율성을 개선하고 생산성을 높이기 위해 할 수 있는 일입니다.

1. 유익한 작업 환경 구축

모든 코더는 고유 한 환경에서 작업하고 있으며 독자는 매우 다양하므로 일부 사용자는 다른 사용자보다 이러한 제안을 쉽게 구현할 수 있습니다.

프리랜서라면 축하합니다. 이미 자신의 작업 환경을 마스터했기 때문입니다. 물론 클라이언트를 방문하여 현장에서 작업해야 하는 경우에는 변경될 수 있지만 성공할 수 있다면 여전히 좋은 위치입니다.

개발 팀의 관리자인 경우 이러한 제안은 팀의 효율성을 극대화하는 데 도움이 될 수도 있습니다. 또는 귀하가 개발 팀의 작업자인 경우 이러한 아이디어 중 일부를 관리자에게 제안하거나 최소한 이 페이지에 대한 링크를 보내고 최선을 다할 수 있기를 바랄 수 있습니다.

팀원이 재택 근무하도록 허용

프로그래밍은 부분적으로는 논리 연습이지만 훨씬 더 창의적인 도전입니다. 최고의 프로그래머는 모든 작업에 대해 두뇌의 어느 쪽이든 동등하게 사용할 수 있습니다. 과학은 창의적인 사람들이 밤에 최선을 다한다는 것을 오랫동안 인정해 왔으며 우리 모두가 경험한 것입니다. 그렇다면 왜 대부분의 관리자는 전통적인 9-5 루틴을 고집합니까?

사실 우리는 이미 그것에 대한 답을 알고 있습니다. 부분적으로는 제어에 관한 것이고 부분적으로는 비즈니스 관점(또는 적어도 관리 관점)에서 일을 더 편리하게 만드는 것입니다. 그러나 일상과 위치에 대한 고집은 팀의 효율성과 생산성을 해치고 있습니다.

당신이 깨달아야 할 것은 코더가 최신 게임을 시도하기 위해 밤새도록 깨어 있거나 파티에 갔거나 단순히 가족과 어울려야 했다는 것입니다. 그것은 그들이 월요일 아침에 출근할 때 최고의 생산성 수준에 도달하지 못할 뿐만 아니라 이미 에너지가 고갈되고 피곤하다는 것을 의미합니다.

근로자에게 근무 시간과 이상적으로는 장소에 대한 선택권을 주는 것은 생산성과 사기를 향상시키는 훌륭한 방법입니다. 그들이 일을 완수하고 우수한 품질의 결과를 내는 한, 그들이 언제, 어디서, 어떻게 그것을 달성하는지 신경쓰지 않아도 됩니다.

긴밀한 협업이 필요한 경우는 예외이지만 사실 대부분의 코더는 자신의 방식으로 작업을 수행할 때 더 잘 수행하며 긴밀한 협업의 필요성은 드뭅니다. 사무실에 들어올 수 있는 선택권은 여전히 ​​존재해야 하지만 일급 비밀 군사 프로젝트에 참여하지 않는 한 그것이 요구되어야 하는 현실적인 이유는 없습니다.

프리랜서로서 여기에서 핵심 포인트는 대부분의 실제 코딩 작업을 밤에 하면 더 많은 일을 할 가능성이 있다는 것입니다. 늦은 밤에는 산만함이 줄어들고 더 조용해지며 더 창의적인 기분이 들 것입니다.

음악을 피하십시오

우리는 모두 매우 지저분한 해커가 헤드폰을 쓰고 데스메탈에 맞춰 잼을 하면서 숨도 쉬지 않고 한 화면 가득 코드를 쉽게 만들어내는 미친 영화 고정관념을 본 적이 있습니다. 그리고 현실 세계에서 실제로 코딩을 하는 우리 모두는 그 이미지가 얼마나 우스꽝스러운지 알고 있습니다.

하지만 일하면서 음악을 듣는다면 조심하세요. 일 대신 음악에 대해 생각하는 자신을 발견하기가 매우 쉽고 어떤 종류의 음악은 졸음 효과가 있을 수 있습니다. 체육관에서 운동을 할 때 적절한 종류의 음악이 몇 번 더 반복하도록 영감을 줄 수 있습니다. 그러나 세미콜론이 빠진 줄을 찾거나 for 루프와 while 루프 중 올바른 선택을 하도록 영감을 주는 음악을 만든 사람은 아무도 없습니다. 가장 가까운 것은 Electric Dreams입니다.

깔끔하게 유지하십시오

어수선함은 이상하게 위안이 될 수 있지만 속도를 늦출 수도 있습니다. 엉망진창에서 잃어버린 것을 찾는 데 20분을 쉽게 낭비할 수 있으며, 처음에 그것을 원했던 이유를 잊을 수 있습니다.

그렇다면 그것이 야기하는 모든 불편함에도 불구하고 왜 우리는(적어도 우리 중 일부는) 어수선함에 그토록 중독되어 있는 것일까요? 조직 전문가이자 저자인 Julie Morgenstern은 이것이 우리를 과거와 연결하고 우리의 정체성을 정의하는 역할을 하기 때문이라고 주장합니다. 뉴욕시에 거주하는 교사이자 무대 감독인 Marcus Geduld는 어수선한 것이 "멸균된" 환경보다 선호되기 때문이라고 제안하고 어수선한 혼란을 affirm자유와 창조의 시대.

그러나 어수선함을 줄이는 것이 산만함과 혼란을 피하는 데 도움이 된다는 데는 의심의 여지가 없습니다. 따라서 달성할 가치가 있는 목표입니다. 기분을 좋게 하고 스트레스를 덜 받는 신성한 물건 몇 개를 주위에 두되 과도하게 사용하지는 마십시오. 정리정돈은 대부분의 사람들에게 가장 어려운 일 중 하나이며, desktop정리가 필요하지만 종종 컴퓨터 desktop너무. 그것으로 정말 어려움을 겪고 있다면 Fluxbox와 같은 최소한의 DTE를 사용해 볼 수 있습니다.

그러나이 모든 정리 중에 배 밖으로 나가지 마십시오. 환경의 약간의 혼돈이 실제로 창의성에 도움이 될 수 있음을 시사하는 훌륭한 과학이 많이 있습니다. 이것에 대해 가장 자주 인용되는 연구 중 하나는 Vohs, Redden & Rahinel이 미네소타 대학의 심리 과학 저널 항목입니다. 신체적 질서가 건강한 선택, 관대함, 관습을 만들어내는 반면, 장애는 창의성을 낳는다. 아마도 이것이 신문 기자들이 집착하는 이유는“… 무질서한 방에있는 참가자가 질서 정연한 방에있는 참가자보다 더 창의적이었다”고 분명히 결론을 내리기 때문일 것입니다.

훨씬 덜 인기있는 의견은 반대 의견입니다. 환경 장애로 인한 자체 규제 실패 (Chaye & Zhu, 2014), 소비자 연구 저널에 발표. 이 연구는 무질서한 환경에서 일하는 사람들이 업무 수행 능력이 손상되었음을 발견했습니다.

그래서 이것은 당신을 어디로 떠나나요? 혼돈 상태에서 일해야 합니까 아니면 불임 상태에서 일해야 합니까? 답은 계속 영감을 받을 수 있을 만큼 혼란스럽지만 주의가 산만해지거나 물건을 찾는 데 어려움을 겪지 않는 균형을 찾는 것 같습니다.

생각을 펼칠 수있는 공간을 남겨주세요

고민할 때 돌아다닐 수 있는 충분한 공간을 확보하는 것이 좋습니다. 역사상 최고의 제독과 장군 중 다수는 전투 전략을 계획하는 동안 갑판 주위를 서성이는 데 오랜 시간을 보낸 것으로 유명했습니다.

싸우는 사람 만이이 관행을 따르는 것이 아닙니다. 많은 불교 승려들도“걷는 명상”을 옹호하며 그것이 마음의 명확성을 증진시키는 데 도움이된다고 믿습니다. 특히 풀어야 할 결점이있는 프로그래밍 문제가있을 때마다 갑판 주위를 명상하면서 산책하면서 다리를 약간 펴는 것이 도움이 될 수 있습니다. 분명히 여기서도 혼란이 없으면 병원에 가지 않고도 이것을 할 수 있습니다.

상사로서 창의적 노력에 대한 비판에 신중하게 접근하십시오.

건설적인 비판에는 잘못된 것이 없지만 적절한 순간을 선택하고 올바른 방식으로 접근해야 합니다. 그렇지 않으면 나중에 직원의 생산성이 저하되어 역효과를 낼 수 있습니다. 그들에게 영감을 주고 통찰력을 제공하는 대신 실제로 위험을 감수하는 것을 두려워하게 만들 수 있으며 이는 창의성을 죽이는 좋은 방법입니다. 마리케 로스케스 창의적 성과를 도우거나 방해하는 제약 : 동기 부여 접근법, 창의적 근로자의 동기를 다루는 방법에 대한 프레임 워크를 제공하고 특히 의도하지 않은 방식으로 동기를 유발하지 않도록하는 방법을 제공합니다 (Creativity & Innovation Management, Vol 24, Iss 2, 2015).

2. 좋은 SOP 수립

비즈니스 관리 및 프로그래밍 절차에는 실제보다 이론적으로 훨씬 더 합리적으로 들리는 눈길을 끄는 경향이 많이 있습니다. 특정 접근 방식이 귀하에게 효과가 있는지 여부는 귀하의 목표와 개인적으로 성공적인 결과라고 생각하는 것에 따라 다릅니다.

내가 일한 회사가 시도한 방법론의 한 예는 빠르게 떨어졌지만 페어 프로그래밍 (PEAR 프로그래밍과 혼동하지 말 것)입니다. 어떤 사람들은이 작업 방법론을 실제로 존경하고 민첩한 개발 패러다임에서 그 위치를 찬양하지만, 그것이 비효율적이라는 것을 알았습니다. 처음에는 모든 워크 스테이션에 두 명의 프로그래머가 필요했기 때문에 실제 개발 작업을 줄이려면 두 배의 비용을 지불했습니다. 또한 빈번한 중지 / 시작 흐름과 불필요한 대화의 경향으로 인해이 방식으로 작업하는 것이 훨씬 느리다는 것을 발견했습니다.

페어 프로그래밍의 장점은 더 자연스러운 문서화와 더 엄격한 문서화를 가져온다는 것입니다. 또한 버그를 더 쉽게 발견하고 알고리즘 강화에 대한 제안을 할 수 있었습니다. 그러나 동시에 동일한 장점으로 인해 문제가 발생하기도 했습니다. 때때로 조정과 조정이 실제로 필요하지 않았기 때문입니다.

이 접근 방식의 또 다른 위험은 Roskes가 식별한 효과를 얻을 수 있다는 것입니다. 여기서 프로그래머는 수정을 원하지 않기 때문에 시도하는 것을 주저할 수 있습니다. 한 개발자는 매우 현명하고 전통적이지만 다른 개발자는 더 창의적이고 즉흥적일 때 성격 충돌이 벌어지는 것을 볼 수 있습니다.

프로그래머는 종종 페어 프로그래밍을 선호한다고 말합니다. 그들이 제공하는 사회적 상호 작용을 즐기기 때문일 수 있지만 이것은 아마도 사기 진작을 제외하고는 생산 효율성에 기여하지 않습니다.

따라서 확립해야 할 것은 개발자에게 실제로 효과가 있는 것과 그렇지 않은 것입니다. 안 되는 것들은 버리는 게 낫다. 유행하는 일이라도. 팀이 빠르게 발전하는 데 도움이 되는 것은 무엇이든 좋은 것입니다. 하지만 자신의 스타일과 맞지 않는 방법론에 짓눌리면 결국 문제가 된다.

3. 자세한 문서를 장려

자세한 표시가 비 효율성을 증가시키는 것처럼 보일 수 있지만, 의견을보다 상세하고 정확하게 작성하는 데 걸리는 적은 시간은 프로젝트가 진행되거나 수정 될 때 많은 문제를 줄일 수 있습니다.

4. 불필요한 서류를 삼가십시오

잘 작성된 코드는 종종 자체 문서화됩니다. 함수에 부여한 이름에서 함수가 수행하는 작업이 완전히 명확하다면(거의 항상 그렇듯이) 설명을 추가할 필요가 없습니다. 변수 이름 지정 및 반환 값도 마찬가지입니다. 그들이 하는 일이 이름에서 분명해야 하며, 그렇게 할 수 없는 경우 주석에 설명을 포함해야 합니다.

5. 공백은 당신의 친구입니다

코드에서 공백을 적절하게 사용하면 코드를보다 쉽게 ​​읽고, 검토하고, 이해하는 데 도움이됩니다. 좋은 문서화 및 자체 문서화 코드 작성과 함께 사용됩니다. 숙련 된 프로그래머 또는 프로그래머가 아닌 사람도 소스 코드의 복사본을 선택하고 각 함수의 목적과 작동 방식을 즉시 이해할 수 있어야합니다. 이상적으로, 누군가는 잘 작성된 코드를 공부하는 것 이상으로 프로그래밍하는 법을 배울 수 있어야합니다.

6. 복잡성보다 단순성을 선호

코드를 복잡하게 만들수록 코드를 풀기가 더 어려워집니다. 아이러니하게도 이것은 단축 조건을 전체적으로 작성하는 대신 사용하는 것과 같은 프로그래밍 단축키에 적용됩니다. 글쓰기에 시간을 절약 할 수 있지만, 경험이 적은 프로그래머가 나중에 코드를 검토 할 때 의도를 이해하지 못할 수 있습니다.

7. 철저한 테스트

코드는 점진적으로 자주 테스트해야합니다. 배포하기 전에 첫 번째 릴리스가 Alpha로 지정 되더라도 가능한 한 많은 사내 테스트를 수행해야합니다.

8. 버전 관리 사용

주요 프로젝트에서 버전 제어를 사용하지 않으려면 미쳐야 합니다. 그것 없이는 자신의 사소한 실수로부터 보호받을 수 없으며 또한 다른 팀원이 실수로(또는 의도적으로) 코드를 마음에 들지 않는 것으로 덮어써 코드를 방해하기 쉽습니다.

이러한 XNUMX가지 주요 제안을 고려함으로써 귀하와 귀하가 함께 일하는 모든 팀 구성원을 위해 최고의 효율성을 추출하기 위한 고유한 전략을 개발할 수 있습니다. 반드시 모든 것을 적용할 필요는 없으며 확실히 일부는 실용적이지 않을 수도 있지만 이들을 조합하면 번거로움 없이 작업을 완료할 수 있습니다. 보다 생산적인 작업 흐름은 스트레스 감소와 더 많은 시간을 제공하는 것일지라도 시간이 지남에 따라 보상을 받을 것입니다. 노력할 가치가 있는 목표입니다.

보그 단 란 세아

Bogdan은 Inspired Mag의 창립 멤버로서이 기간 동안 거의 6 년의 경험을 축적했습니다. 여가 시간에는 클래식 음악을 공부하고 시각 예술을 탐구하는 것을 좋아합니다. 그는 또한 수정 프로그램에 상당히 집착하고 있습니다. 그는 이미 5를 소유하고 있습니다.

코멘트 0 응답

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *

평점 *

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터 처리 방법 알아보기.