На данный момент я пишу на Ruby, PHP, Java, C и JavaScript и буду писать не менее 1 часа каждый из них каждый день. Основная проблема в действительности заключается в том, чтобы найти время, поскольку они все для несвязанных проектов.
Ментальный Сдвиг
Мой стиль работы такой, что я люблю работать в течение длительного времени. К сожалению, это означает, что если у меня есть только одна вещь, когда я сталкиваюсь с ментальным блоком с куском кода, мне понадобится много времени, чтобы преодолеть это. Я тоже не нахожу перерыв. Имея другие проекты и, в частности, другие языки, переключаться на то, когда я застреваю, значит, ко времени, когда я возвращаюсь к исходному языку, у меня сразу есть решение.
Поэтому, да, есть психическое изменение, и я думаю, что это делает меня намного более продуктивным.
Приоритизация задач
Я использую диспетчер задач (gTasks для Android) и у меня есть отдельный список задач для каждого проекта. Если проекту требуется несколько языков, я не разделяю их. Обычно это происходит потому, что они будут сильно связаны каким-то образом. Например, JavaScript и Ruby для работы с AJAX. Если языки технически относятся к одному и тому же проекту, но проект настолько велик, что они практически не связаны, то я, скорее всего, буду считать их отдельными проектами.
Как правило, мой приоритет - «какой список имеет больше задач», но я всегда буду переключаться, если застряну в проблеме.
Соглашения о кодировании
Это немного смеси:
- Если проект разрабатывается совместно с другими, тогда, очевидно, я буду соответствовать тем соглашениям, которые были приняты для этого проекта.
- Если проект личный, то мне нравится, чтобы мой код выглядел в соответствии с доминирующим стилем в сообществе / стандартной библиотеке для данного языка. Мне трудно читать код Java, если все функции пользователя находятся, например, в snake_case. Точно так же методы camelCase в Ruby выглядят странно и неуместно.
- Для соглашений, которые не очевидны из простого использования языка, такого как отступ, я буду стремиться принять свои собственные стандарты и использовать их на всех языках, которые я использую. В случае отступа я всегда использую 2 пробела. Для стиля распорки, я всегда использую то , что Википедия в настоящее время принять решение назвать Compact Control Readability Style .
Кроме того: самая большая проблема для меня - это переключение между языками стилей. Очень трудно гоняться, когда кодируешь SASS вместе с Ruby, а затем приходится переключаться обратно на CSS для всего остального. В меньшей степени у меня та же проблема с HAML / HTML и JSON / XML.
.equals
в JavaScript. По крайней мере, я всегда ошибаюсь, вместо того, чтобы использовать==
в Java.