Re[2]: Превращение кода в карточки
От: velkin Земля kisa.biz
Дата: 12.04.25 18:46
Оценка:
Здравствуйте, GarryIV, Вы писали:

V>>Для меня sqrt такая же закорючка как и square root. То есть нужно писать квадратный корень чтобы я сразу понял без расшифровки переводом.

GIV>Вот серьезно да? Это примерно на первом курсе же учат min, max, sqrt, pow, find, get, move, copy и тому подобное.
GIV>Мб надо не забивать себе голову векторной галиматьей и тупо запомнить пару тысяч слов.

Дело в том, что я и так помню их перевод, причём как английскую полную расшифровку, так и русскую.

Но для примера цитата из книги.

Как правило, программисты весьма умны. А умные люди иногда любят показывать мощь интеллекта, демонстрируя свои способности к мысленному жонглированию. В конце концов, если вы помните, что переменная r содержит URL-адрес с удаленным хостом и схемой, преобразованный к нижнему регистру, это совершенно очевидно свидетельствует о вашем уме.

Одно из различий между умным и профессиональным программистом заключается в том, что профессионал понимает: ясность превыше всего. Профессионалы используют свою силу во благо и пишут код, понятный для других людей.


Ну то есть если я понимаю это так.
1. min, minimal, наименьшее (минимальное).
2. max, maximal, наибольшее (максимальное).
3. sqrt, square root, квадратный корень.
4. pow, power, (в текущем контексте) степень (возведение в степень).
И так далее.

Но Мартин Роберт говорит, что я просто умственно жонглирую.
1. Во-первых, он предлагает не использовать сокращения, а давать полные имена.
2. Во-вторых, для него родной язык английский США, то есть применительно ко мне я должен использовать его советы для языка русский Россия.

И вот здесь я натыкаюсь на фундаментальную проблему. Люди клали болт на полные имена и используют английские сокращения. Лично я предполагаю, что так проще было использовать имена в выражениях. Ну или может ещё что-то из сокращений в математике.

Дело не в том, что я не знаю, что это значит, но процесс выглядит так.
1. Декодирование.
2. Осмысление.
3. Кодирование.

А Мартин Роберт я так понимаю хочет чтобы выглядело так.
1. Осмысление.

Конечно, чтение чистого кода никогда не сравнится с чтением «Властелина колец». И все же литературная метафора в данном случае вполне уместна. Чистый код, как и хорошая повесть, должен наглядно раскрыть интригу решаемой задачи. Он должен довести эту интригу до высшей точки, чтобы потом читатель воскликнул: «Ага! Ну конечно!», когда все вопросы и противоречия благополучно разрешатся в откровении очевидного решения.


Или вот ещё цитата почему он хочет чтобы код можно было прочесть как художественную книгу.

В общем, вы поняли. На самом деле соотношение времени чтения и написания кода превышает 10:1. Мы постоянно читаем свой старый код, поскольку это необходимо для написания нового кода.


Сюда бы вставить какой-нибудь смешной мемасик про то, что мы постоянно читаем свой старый код. Может Мартин Роберт и читает, но он на то и профессионал. Вот я и подумал, что заставит меня прочитать мой старый код. Написав его на русском, причём именно так как думаю именно я, то возможно я бы его и прочёл снова и снова, а может и нет.

И конечно же стоит вспомнить его и не только его утверждение, что хороший код говорит сам за себя. Но там уже другая четвёртая глава про комментарии и прочее. Из-за чего я и пришёл к идее проверить мысль, что можно написать тот же самый код, но заменить ключевые слова и идентификаторы на полные русские имена. Причём сделать это с помощью комментариев в виде карточек.

Понятно, что можно всё это проигнорировать и продолжить мысленное жонглирование. Но мне стало интересно проверить эти мысли.

Или ещё нашёл статью на тему перевода.
О русском языке в программировании (3 янв 2021)



И сразу началось с того, что Print я перевожу как Печать, а не Вывод, потому что если Ввод это Input, то Вывод для меня это Output. И дальше идёт цепь несовпадений, типа Возврат это Return, хотя я бы предпочёл Вернуть. Причём не то, чтобы я был прав, но ведь это Мартин Роберт хочет чтобы люди читали код как "Властелина колец".

Потому в топике я и написал.

Хотя повторю главную мысль статьи. Сколько бы Мартин Роберт в своём "Чистом коде" не говорил о его читаемости, это невозможно осуществить читая чужой код или английский код. Системы мышления разных людей не совместимы даже если они говорят на одном условном языке, не говоря уже о разных языках.

Почему? Да потому что первый же человек с ходу переводит не так как я.

Вопрос здесь в том.
1. Подстраиваемся ли мы под код других.
или
2. Подстраиваем код других под себя.

Конечный результат может быть одним и тем же, тот же код с английскими ключевыми словами и английскими идентификаторами. А вот осмысление может проходить по разному. Как и говорил Мартин Роберт, можно и букву r подменять чем хочешь, а можно написать что это такое не просто на условно родном языке, а на языке собственного мышления.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.