코딩 효율을 향상시키는 간단한 요령

소프트웨어 게시자 사이에 이상한 현상이 발생했습니다. 사람들이 양질의 제품을 더 잘 만드는 것에 대한 이해를 뒤집는 경향이 있거나 최소한 마케팅을하는 사람들에게는 이것이 사실입니다. "제품에는 백만 줄의 코드가 있지만 우리 제품에는 XNUMX 백만 개가 있으므로 더 나은 제품이어야합니다."

아무도 "더 적은 것"이라는 철학을 만들기 위해 열심히 노력했던 시절에이 "더 많은 것이 더"어떤 종류의 사고에서 왔는지는 아무도 모른다. 아마도 많은 작가들이 큰 숫자를 인용하여 청중에게 깊은 인상을주기 때문에 소비자 등급의 저널리즘으로 시작했을 것입니다. 이 작은 플래시 드라이브는 200 테라 바이트의 데이터를 보유하고 CPU가 초당 48 억 개의 명령을 처리 할 수있는 대부분의 작업에서 작동하며, 작성자는 소스 코드에 해당 사항이 적용되지 않는다는 것을 이해할만큼 기술적으로 정통하지는 않습니다.

그러나 코딩 효율성은 엄격한 알고리즘을 만드는 것만이 아닙니다. 또한 폐기물을 줄일 수 있다는 것입니다. 즉, 문제 해결에 소요되는 시간, 컴퓨터 리소스를 너무 많이 소비하는 낭비, 심지어 주가 끝날 때까지 팀원들이 사무실에 쌓아 놓은 피자 상자 수를 낭비하는 것을 의미합니다. 이상적으로는이 모든 것을 줄이려고합니다.

이 기사에서 살펴볼 것은 효율성을 높이고 생산성을 높이기 위해 할 수있는 일입니다.

1. 유익한 작업 환경 구축

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

프리랜서 인 경우 축하합니다. 이미 자신의 업무 환경을 마스터했기 때문입니다. 물론 그것은 고객을 방문하고 현장에서 일해야 할 때 바뀔 것이지만, 성공할 수 있다면 여전히 좋은 위치입니다.

개발 팀의 관리자 인 경우 이러한 제안을 통해 팀의 효율성을 극대화 할 수 있습니다. 또는 개발 팀의 직원 인 경우 이러한 아이디어 중 일부를 관리자에게 제안하거나 최소한이 페이지에 대한 링크를 보내 최고의 결과를 기대할 수 있습니다.

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

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

사실, 우리는 이미 그에 대한 답을 알고 있습니다. 그것은 부분적으로 통제에 관한 것이고 부분적으로는 비즈니스 관점 (또는 최소한 관리 측면에서)을보다 편리하게 만드는 것에 관한 것입니다. 그러나 일상과 위치에 대한 주장은 팀의 효율성과 생산성을 떨어 뜨리고 있습니다.

당신이 알아야 할 것은 코더가 밤새 일어나서 최신 게임을 시도했거나 파티를 가거나 가족과 사귀어야했다는 것입니다. 월요일 아침에 출근 할 때 생산성이 최고 수준에 도달 할뿐만 아니라 이미 에너지가 부족하고 개가 피곤하다는 것을 의미합니다.

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

긴밀한 공동 작업이 필요한 경우는 예외이지만 실제로 대부분의 코더는 자체 방식으로 작업을 수행 할 때 더 잘 수행하므로 긴밀한 공동 작업의 필요성은 거의 없습니다. 사무실에 들어올 수있는 옵션은 여전히 ​​있어야하지만, 비밀 군사 프로젝트를 수행하지 않는 한 현실적으로 필요한 이유는 없습니다.

프리랜서로서 여기서 중요한 점은 밤에 실제 코딩 작업의 대부분을 수행하면 더 많은 작업을 수행 할 수 있다는 것입니다. 밤 늦게 산만하지 않고 조용하며 더 창의적입니다.

음악을 피하십시오

우리는 모두 초초 지저분한 überhacker가 헤드폰과 잼을 죽음의 금속에 걸고 숨을 쉬지 않고도 화면의 코드를 쉽게 넘겨주는 미친 영화 고정 관념을 보았습니다. 그리고 실제로 현실 세계에서 코딩하는 우리 모두는 그 이미지가 얼마나 우스운 지 알고 있습니다.

그러나 작업하는 동안 음악을 듣는다면 조심하십시오. 자신의 작품 대신 음악에 대해 생각하는 것은 매우 쉬운 일이며, 어떤 종류의 음악은 효과가 있습니다. 체육관에서 운동을하러 가면 올바른 종류의 음악이 여분의 몇 번의 담당자를 불러 내도록 영감을 줄 수 있습니다. 그러나 아무도 세미콜론이없는 라인을 찾거나 for 루프 또는 while 루프를 사용하는 것 중에서 올바른 선택을하는 데 도움이되는 음악을 만들어 본 적이 없습니다. 가장 가까운 것은 Electric Dreams입니다.

깔끔하게 유지하십시오

클러 터는 이상하게 위로 할 수 있지만 속도가 느려질 수도 있습니다. 엉망으로 잃어버린 물건을 찾기 위해 20 분을 쉽게 잃을 수 있으며, 왜 처음에 그것을 원했는지 잊어 버릴 수 있습니다.

그래서 그것이 야기하는 모든 불편 함 때문에 왜 우리 중 적어도 일부는 어지럽게 중독되어 있습니까? 조직 전문가이자 저자 인 줄리 모겐 스턴 (Julie Morgenstern)은 이런 것들이 우리를 과거와 연결시키고 정체성을 정의하는 역할을하기 때문이라고 주장합니다. 뉴욕시의 교사이자 무대 감독 인 마커스 게 덜드 (Marcus Geduld)는 그것이 혼란스러운 환경이“멸균 된”환경보다 선호되기 때문에 혼란의 혼란을 자유와 창의성의 확인에 비유하기 때문이라고 제안합니다.

그러나 혼란을 줄이면주의 산만 해짐을 피할 수 있습니다. 따라서 달성하는 것이 가치있는 목표입니다. 꼭, 성스러운 물건 몇 개를 주위에 두어 스트레스를 더 좋게하고 덜 느끼게하십시오. 그러나 과용하지 마십시오. 디 클러 터링은 대부분의 사람들에게 가장 어려운 일 중 하나이며, 디 클러 터링이 필요한 실제 데스크톱뿐만 아니라 종종 컴퓨터 데스크톱이기도합니다. 실제로 어려움을 겪고 있다면 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를 소유하고 있습니다.