Grug는 프로그래밍을 생각하는 데 도움을 줍니다.

Feb 18 2023
얼굴에 미소를 머금고 프로그래밍에 관한 기사를 읽은 지 오래되었습니다. Grug는 두뇌가 뛰어난 개발자가 아니라 괜찮은 품질의 코드를 작성하고 작업을 완료하려는 단순한 원시인과 같은 우리 대부분과 같습니다.

얼굴에 미소를 머금고 프로그래밍에 관한 기사를 읽은 지 오래되었습니다.

Grug는 두뇌가 뛰어난 개발자가 아니라 괜찮은 품질의 코드를 작성하고 작업을 완료하려는 단순한 원시인과 같은 우리 대부분과 같습니다.

그루 그는 그렇게 똑똑하지는 않지만 그것이 그의 초능력일 수 있습니다. 본문에는 많은 지혜가 있습니다.

나에게는 Grug의 자신을 표현하는 방식에 빠지는 데 몇 분이 걸렸지만 그만한 가치가 있습니다!

grugbrain.dev에서 전체 기사 읽기

다음은 Grug 의 황금 덩어리입니다 .

복잡성

복잡성은 선의를 통해 코드베이스에 들어가는 정신 악마이지만 궁극적으로 복잡성 정신 악마를 두려워하지 않거나 언젠가는 알지도 못하는 멍청하지 않은 개발자 및 프로젝트 관리자

거절

복잡성 정신 악마에 대한 최고의 무기는 마법의 단어입니다: "아니오"

아니요, 그 기능을 구축하지 마세요.
아니요, 추상화를 구축하지 마세요.

이 좋은 엔지니어링 조언이지만 나쁜 경력 조언: "예"는 더 빛나는 바위에 대한 마법의 단어이며 대규모 개발자 부족을 담당합니다.

슬프지만 사실: "예"를 배운 다음 실패하면 다른 마약류를 비난하는 법을 배우십시오. 이상적인 경력 조언

코드 팩토링

지원서를 너무 일찍 고려하지 마세요!

큰 두뇌 개발자는 종종 이것을 전혀 좋아하지 않으며 많은 추상화를 발명합니다. 프로젝트의 시작

grug는 클럽에 손을 뻗어 "큰 두뇌는 코드를 유지하지 않습니다! 다음 건축위원회에 대한 큰 두뇌 이동은 거친 거래에 대한 코드를 남겨 둡니다!”

대신 UML 다이어그램과 같은 것을 제공하거나 (코드를 손상시키지 않고 어쨌든 버릴 수 있음) 내일 작업 데모를 요구하여 프로젝트 초기에 큰 두뇌 개발자의 피해를 제한하려고 노력합니다.

작업 데모 특히 좋은 트릭: 큰 두뇌가 실제로 이야기할 무언가를 만들고 그 일을 보도록 코드를 작성하면 큰 두뇌가 지상에서 현실을 더 빨리 볼 수 있도록 도와줍니다.

체스터튼의 울타리

grug는 어느 정도 수준의 모든 프로그래머 플라토니스트가 코드에서 영역의 음악이 완벽하기를 바란다는 것을 이해합니다. 하지만 위험은 도래했고 세상은 여러 번 추악하고 심술궂습니다. 따라서 코드도

grug는 시스템을 개선하지 않는다고 말하지 않습니다. 아주 어리석지만 시간을 들여 시스템을 먼저 이해하는 것이 좋습니다. 특히 더 큰 시스템은 완벽하지 않더라도 오늘날 작동하는 코드를 존중합니다.

도구

거친 사랑 도구

좋은 디버거는 반짝이는 바위에 무게를 둘 가치가 있습니다. 사실 그 이상도 있습니다. 버그에 직면했을 때 그럭은 종종 모든 반짝이는 바위와 아마도 소수의 자식을 좋은 디버거로 교환하고 어쨌든 디버거는 그럭이 말할 수 있는 한 무게를 측정하지 않습니다.

Grug는 항상 새로운 프로그래머에게 사용 가능한 디버거를 매우 깊이 배울 것을 권장합니다. 조건부 중단점, 표현식 평가, 스택 탐색 등과 같은 기능은 새로운 Grug에게 대학 수업보다 컴퓨터에 대해 더 많이 가르칩니다!

타입 시스템

grug는 유형 시스템과 매우 유사하여 프로그래밍을 더 쉽게 만듭니다. 그루그의 경우, 그루그가 키보드에서 점을 칠 때 가장 가치 있는 유형 시스템과 그루그가 할 수 있는 팝업 마법의 목록입니다. 이 90% 이상의 유형 시스템 값을 grug

항상 가장 가치 있는 유형의 시스템이 제공됩니다.

관심사의 분리

우려 분리(SoC)는 많은 개발자의 마음을 넘어선 또 다른 강력한 아이디어입니다.

여기서는 DRY보다 훨씬 더 시큼한 얼굴을 하고 실제로 SoC에 대한 대안 설계 원칙 LoB(Locality of Behaviour)에 대한 에세이를 작성합니다.

grug는 그 일을 하는 것에 코드를 넣는 것을 훨씬 더 선호합니다. 이제 무뚝뚝한 것을 볼 때 무뚝뚝한 일이 무엇을 하는지 알면 항상 안심이 됩니다!

벌채 반출

특히 클라우드에 배포된 로깅의 엄청난 팬을 수집하고 많은 로깅을 권장합니다. 일부 non-grugs는 로깅이 비싸고 중요하지 않다고 말합니다. grug used는 더 이상 이런 식으로 생각하지 않습니다

로깅에 대한 grug 팁은 다음과 같습니다.

  • 코드 내의 모든 주요 논리적 분기 기록(if/for)
  • "요청"이 클라우드 인프라의 여러 시스템에 걸쳐 있는 경우 로그를 그룹화할 수 있도록 모든 요청 ID를 포함합니다.
  • 가능한 경우 로그 수준을 동적으로 제어하여 디버그 문제(많은!)가 필요할 때 grug를 켜거나 끌 수 있습니다.
  • 가능한 경우 사용자당 로그 수준을 만들어 특정 사용자 문제를 디버깅할 수 있습니다.

가장 큰 두뇌 개발자는 한때 다음과 같이 말했습니다.

성급한 최적화는 모든 악의 근원입니다

grug는 최적화를 시작하기 전에 특정 성능 문제를 보여주는 구체적인 실제 성능 프로필을 항상 보유할 것을 권장합니다.

실제 문제가 무엇인지 결코 알 수 없습니다. 매우 자주!

아피스

API 제작자는 너무 추상적이고 두뇌가 풍부하다고 생각합니다.

일반적으로 grug는 api의 세부 사항에 대해 너무 깊이 신경 쓰지 않습니다. 쓰기 파일 또는 정렬 목록 또는 무엇이든 원하고 write() 또는 sort() 또는 무엇이든 호출하고 싶습니다.

그러나 큰 두뇌 API 개발자는 다음과 같이 말합니다.

그렇게 빠르지 않아, 투덜투덜! 해당 파일이 쓰기용으로 열려 있습니까? 해당 정렬에 대해 Comparator를 정의했습니까?

투덜대는 자제 손을 다시 클럽에 뻗는다

지금은 그 일에 신경 쓰지 말고 파일을 정렬하고 쓰기를 원합니다.

프런트엔드 개발

웹 개발에 직면했을 때 일부 무식한 사람들은 다음과 같이 말합니다.

프런트 엔드와 백엔드 코드베이스를 분할하고 HTTP를 통해 GraphQL JSON API 백엔드와 통신하는 최신 SPA 라이브러리를 사용할 것입니다(하이퍼텍스트를 전송하지 않기 때문에 재미있습니다).

이제 두 개의 복잡한 악마 영혼 은신처가 있습니다.

grug는 모두가 사용하는 크고 복잡한 프런트 엔드 라이브러리와는 다릅니다.

grug는 htmx 와 하이퍼스크립트를 만들어 피합니다.

복잡성을 낮게 유지, 간단한 HTML, 많은 것을 피함 자바스크립트, 정신 복잡성 악마의 자연스러운 에테르

그들이 당신을 위해 일할 수도 있지만 채용 공고가 없습니다. 죄송합니다.

직업과 어떤 유형의 지원에 대해 더 잘 반응하지만, 당신이 좋든 싫든 당신은 복잡성 악마의 수행자가 됩니다. 죄송합니다.

멍청해 보이는 것에 대한 두려움

메모! 고위 노파가 공개적으로 "음, 노파에게 너무 복잡해"라고 말할 수 있다면 매우 좋습니다!

많은 개발자 Fear Of Looking Dumb(FOLD), grug도 한 번에 FOLD, 그러나 grug는 극복하는 것을 배웁니다: 매우 중요한 선임 grug는 "이것은 너무 복잡하고 혼란스럽습니다"라고 말합니다.

이것은 주니어 grugs가 너무 복잡하고 이해하지 못하는 것을 인정하는 것을 허용합니다. 종종 그러한 경우입니다! FOLD 개발자, 특히 젊은 마약에 대한 복잡성 악마의 힘의 주요 원인!

사기꾼 증후군

그와 같은 많은 사기꾼이 개발 중이라고 느끼는 것을 음미하십시오.

이제 grug는 많은 작업과 온건한 오픈 소스 성공의 소프트웨어를 만들지 만 grug 자신은 종종 무엇을하는지 전혀 모릅니다! 매우 자주! grug는 여전히 실수를 두려워하여 모든 사람의 코드를 깨고 다른 grug를 실망시킵니다.

아마도 대부분의 무뚝뚝한 사람이 사기꾼이라고 느끼고 괜찮을 수 있는 프로그래밍의 특성일 것입니다. 모두가 사기꾼이라면 아무도 사기꾼이 아닙니다.

여기까지 읽은 어린 소녀는 좌절과 걱정이 항상 거기에 있더라도 프로그램 경력에서 잘할 것입니다. 죄송합니다.