1. 쓰기 수업? 실제로는 아닙니다.
소스 코드를 작성하는 것은 책을 쓰는 것과는 다릅니다.
모호하지 않고 이해하기 쉬운 동일한 목표를 추구하지만, 그들은 매우 다른 방식으로하고 있으며, 작가가 배우는 것은 소프트웨어 개발자가 배우는 것과는 다릅니다.
예 1 : 연설
연설의 숫자는 소설의 표현을 증가시키기 때문에 소설이나시 등을 쓸 때 가치가 있습니다.
소스 코드에서 oxymoron 또는 litotes를 마지막으로 본 것은 무엇입니까 ? 그것들을 갖는 것이 도움이됩니까, 아니면 나중에 그러한 소스 코드를 유지해야하는 개발자에게는 오히려 해로울까요?
예 2 : 어휘
풍부한 어휘는 문학에서 높이 평가됩니다. 예를 들어 윌리엄 셰익스피어의 어휘는 2 만에서 2 만 5 천 단어입니다. 풍부한 어휘는 소설이나시를 읽는 것이 더 흥미 롭습니다.
소스 코드를 작성할 때 영어를 잘 못하는 사람들이 소스 코드를 읽을 것으로 기대합니다 . 영어가 코드에 매우 해롭다는 것을 얼마나 잘 알고 있는지 보여줍니다. 꼭 필요한 것을 의미하는 멋진 단어를 알고 있지만 많은 사람들이이 단어의 의미를 모른다는 것을 알고 있다면 그 표현을 덜 표현하는 동의어 나 단어의 의미를 설명해야합니다. 주어진 프로젝트에 수 천 단어의 어휘만으로도 충분합니다.
중요한 점에 유의하십시오. Google 번역은 비 원어민에게 큰 도움이 될 수 있지만 모든 번역가에게는 두 가지 문제가 있습니다.
한 쌍의 언어가 단어 사이에 반드시 1 : 1 일치하는 것은 아닙니다. 일부 단어는 다른 언어로 번역되지 않았거나 여러 단어가 외국어로 된 단일 단어로 번역 될 수 있습니다. 예를 들어 러시아어에는 눈과 추운 날씨의 특정 상태를 대상으로하는 단어가 엄청나게 많으며 일반적으로 프랑스어 나 스페인어로 번역 할 수는 없습니다.
단어는 때때로 여러 가지 의미를 가지고 있으며 그 의미는 문맥에서 추론됩니다. Google 번역은 품질은 우수하지만 일반적으로 가장 기본적인 상황 이외의 의미를 나타낼 수 없습니다.
예 3 : 표현식
표현은 글을 더 풍부하게 만듭니다. 저자는 독자가 일정한 양의 일반 문화를 가질 것으로 기대하며,이 기회를 통해 텍스트를보다 표현력있게 만듭니다.
앞의 예와 마찬가지로 이러한 표현은 원어민이 아닌 사람들이 읽을 때 매우 문제가 될 수 있습니다. 그러나 일반적인 어휘를 번역 할 수 있다면 표현은 훨씬 더 문제가됩니다.
예를 들어, 영어는 모국어가 아니며 매일 StackExchange에서 여기를 포함하여 모르는 표현이 나타납니다. 나는 그들의 의미를 추측하려고 노력하며 때로는 옳습니다. 그러나 때때로 나는 틀렸고, 인터넷 검색은 도움이되지 않습니다.
그녀의 의견 에있는 사용자는 방금 프로그래밍을 시작할 때 PHP의 needle and haystack 과 같은 고통을 겪었던 예를 상기 시켰습니다 . 나는 그에 해당하는 연설을 알지 못했기 때문에 설명서를 읽을 때마다이 모든 것이 무엇인지 궁금했습니다. 말할 것도없이 C # sequence.Contains(element)
이나 훌륭한 파이썬 element in sequence
은 훨씬 더 나은 대안입니다. 글쎄, 적어도 히브리어를 모르는 개발자는 PHP로 고통 받아야 했지만 이것은 다른 이야기입니다.
예 4 : 문화 참조
문화적 참조. 문학에서는 주어진 문화의 요소를 포함시키고 싶은 유혹이 있으며, 이로 인해 책이 더 풍부하고 때로는 더 재미있어집니다.
그러나 코드는 전 세계 개발자에게 제공됩니다. 따라서 이탈리아 개발자에 대한 명백한 참조가 러시아 개발자에게는 명백하지 않을 수 있으며, 모든 인도 소년이나 소녀가 알고있는 것이 미국 프로그래머에게 반드시 알려진 것은 아닙니다.
바늘과 건초 더미에 대해 이야기 한 동일한 사용자는 그러한 문화적 참조의 훌륭한 예를 보여주었습니다 : 성배. 성배가 무엇인지 누가 알 수 있습니까? 글쎄, 그것은 프랑스어로 "Graal", 스페인어로 "Grial", 그리고 터키어로 "Kutsal Kâse"입니다. 그러나 미국이나 유럽 개발자들은 중국이나 인도의 중세 역사를 얼마나 알고 있습니까? 왜 모든 중국인과 인도인 프로그래머가 성배 참조를 알아야한다고 가정할까요?
2. 표현적인 소스 코드 작성법? 확실한.
모든 개발자는 표현적인 소스 코드 작성 방법을 배워야합니다.
모든 개발자는 왜 주석이 다음과 같은지 설명해야합니다.
int j = i + 1; // Creating i and adding 1 to it.
그것은 완전히 잘못되었다는 사실을 제외하고는 나쁘다.
모든 개발자는 기본 리팩토링과 소스 코드를보다 표현력있게 만드는 방법을 이해할 수 있어야합니다.
모든 개발자는 20 %의 시간이 코드 개발에 사용되고 80 %의 시간이 코드를 유지 관리한다는 것을 기억해야합니다. 일부 프로젝트의 경우 5 %-95 %와 비슷합니다.
기타
본질적으로 프로그래밍은 기술 문서에 가깝습니다. 볼트에 대한 사양서를 작성하는 사람이 쓰기 수업을 받아야합니까? 실제로는 아닙니다. 개발자도 마찬가지입니다. 누구나 모든 단어에 철자를 잘못 쓰지 않고 글을 써야하며 누구나 자신의 아이디어를 명확하게 전달할 수 있어야합니다. 그 외에도, 컴퓨터 과학이나 IT 보안 또는 그 외의 과정보다 글쓰기 수업이 얼마나 유용한 지 잘 모르겠습니다.
다른 방법으로 소스 코드의 표현성을 배울 수 있습니다. superM 은 그의 대답에서 좋은 코드를 읽는 중 하나를 언급 했습니다 . 다른 몇 가지를 언급 할 수 있습니다.