Код протухает. С каждым днем кодовая база становится все хуже. Чтобы противодействовать этому процессу необходимо проводить рефакторинг — деятельность по улучшению кода без добавления/удаления/доработки фич. Но с этим нужно быть осторожным.
Проводить рефакторинг следует осторожно. В идеале, код должен быть покрыт тестами, которые позволят убедиться что изменения ничего не сломали. В реальных продуктах редко встречается большое покрытие, потому нужно быть вдвойне осторожным.
Цель рефакторинга — снизить цену поддержки существующего кода и написания нового.
#рефакторинг
Проводить рефакторинг следует осторожно. В идеале, код должен быть покрыт тестами, которые позволят убедиться что изменения ничего не сломали. В реальных продуктах редко встречается большое покрытие, потому нужно быть вдвойне осторожным.
Цель рефакторинга — снизить цену поддержки существующего кода и написания нового.
#рефакторинг
Нужная книга
"Джоэл. И снова о программировании" Джоэла Спольски снова не про код. Это набор статей из блога, сгруппированных по темам.
Она больше об управлении софтверным бизнесом, командой разработчиков, общении с заказчиками, организации труда.
Стоит прочесть и инженерам и менеджерам.
Блог — Joel on Software
#softskills
"Джоэл. И снова о программировании" Джоэла Спольски снова не про код. Это набор статей из блога, сгруппированных по темам.
Она больше об управлении софтверным бизнесом, командой разработчиков, общении с заказчиками, организации труда.
Стоит прочесть и инженерам и менеджерам.
Блог — Joel on Software
#softskills
Joel on Software
A weblog by Joel Spolsky, a programmer working in New York City, about software and software companies.
С Новым годом, друзья!
Ближайшую неделю тут будут только автоматизированные посты. А после я вернусь с парой новых форматов и идей.
Ближайшую неделю тут будут только автоматизированные посты. А после я вернусь с парой новых форматов и идей.
Clojure — диалект Lisp, с непривычки читать его совершенно невозможно. Но язык интересный.
В нем просто и безопасно работать с параллельными вычислениям, он поддерживает отложенные вычислниями.
Самым интересным концептом мне видется "данные как код". Любая программа — это просто список. И это дает много интересных возможностей.
С помощью макросов можно конструировать удобные предметно-ориентированные языки.
#языки
В нем просто и безопасно работать с параллельными вычислениям, он поддерживает отложенные вычислниями.
Самым интересным концептом мне видется "данные как код". Любая программа — это просто список. И это дает много интересных возможностей.
С помощью макросов можно конструировать удобные предметно-ориентированные языки.
#языки
Много мелких конфликтов в команде происходит из-за разных ожиданий.
Разработчик и менеджер договорились, что форум выкатят до конца недели. Разработчик под этим понимает одно, а менеджер совсем другое. В конце недели они неизбежно столкнуться с непониманием.
При выдаче ожиданий другим людям стоит строго уточнять, что они поняли, и если поняли неправильно, корректировать.
#softskills
Разработчик и менеджер договорились, что форум выкатят до конца недели. Разработчик под этим понимает одно, а менеджер совсем другое. В конце недели они неизбежно столкнуться с непониманием.
При выдаче ожиданий другим людям стоит строго уточнять, что они поняли, и если поняли неправильно, корректировать.
#softskills
Последний язык в "7 языков за 7 недель" — Haskell. Единственный чисто (фанатично) функциональный язык в книжке.
Писать на нем очень приятно, он невероятно выразителен. Отсутствие изменяемого состояния упрощает любой код, а чистота функций гарантирует их предсказуемость.
Система типов логичная, удобная. Вывод типов работает хорошо и совсем не мешает выражать намерения в коде.
Но реальные программы должны иметь побочные эффекты. Иначе они ничего полезного не сделают. И тут начинаются сложности. Все побочные эффекты реализованы через монады. Это сложный концепт. Но, допускаю, что благодаря этому решению все остальное а языке кристально однозначно.
#языки
Писать на нем очень приятно, он невероятно выразителен. Отсутствие изменяемого состояния упрощает любой код, а чистота функций гарантирует их предсказуемость.
Система типов логичная, удобная. Вывод типов работает хорошо и совсем не мешает выражать намерения в коде.
Но реальные программы должны иметь побочные эффекты. Иначе они ничего полезного не сделают. И тут начинаются сложности. Все побочные эффекты реализованы через монады. Это сложный концепт. Но, допускаю, что благодаря этому решению все остальное а языке кристально однозначно.
#языки