Откуда в проекте появляется legacy код и кого нужно за это винить: https://arialdomartini.wordpress.com/2013/05/31/how-to-spot-the-legacy-code-writer-in-your-company-hint-its-you/
#cleancode
#cleancode
Arialdo Martini
How To Spot The Legacy Code Writer In Your Company (Hint: It’s You)
Also available in Czech, kindly translated by Aleš Roubíček TL;DR Writing Legacy Code* is a distributed activity. *In Working Effectively with Legacy Code Michael Feathers defines Legacy Code as &#…
Срочно в канал - Роберт Мартин вместе с сыном выпустили серию видео по разработке на Swift. Контент платный, но исходники есть на GitHub: https://cleancoders.com/videos/mobile-app-case-study
#architecture #cleancode
#architecture #cleancode
У Линуса Торвальдса можно перенять не только крылатые фразочки для код-ревью, но и отношение к чистоте кода. Разбираем пример из одного интервью с ним и в очередной раз вспоминаем, что всегда есть пространство для улучшения - даже у тех функций, которые мы пишем уже не задумываясь. Рекомендация от @resistandbite.
https://medium.com/@bartobri/applying-the-linus-tarvolds-good-taste-coding-requirement-99749f37684a
#cleancode
https://medium.com/@bartobri/applying-the-linus-tarvolds-good-taste-coding-requirement-99749f37684a
#cleancode
Medium
Applying the Linus Torvalds “Good Taste” Coding Requirement
In a recent interview with Linus Torvalds, the creator of Linux, at approximately 14:20 in the interview, he made a quick point about…
Стандартная проблема - тестов хочется, а писать их - не очень. В статье приведен ряд советов по тому, как проще с головой погрузиться в этот процесс, определить необходимый минимум количества тестов, ну и как вообще их нужно писать.
https://eev.ee/blog/2016/08/22/testing-for-people-who-hate-testing/
#testing #cleancode
https://eev.ee/blog/2016/08/22/testing-for-people-who-hate-testing/
#testing #cleancode
eev.ee
Testing, for people who hate testing
I love having tests. I hate writing them. It’s tedious. It’s boring. It’s hard, sometimes harder than writing the code. Worst of all, it doesn’t feel like it acco
Про пользу и вред большого количества сторонних зависимостей. Все сводится к простой формуле - польза от зависимостей в проекте обратно пропорциональна времени, затрачиваемому командой на его разработку.
http://eli.thegreenplace.net/2017/benefits-of-dependencies-in-software-projects-as-a-function-of-effort/
#cleancode
http://eli.thegreenplace.net/2017/benefits-of-dependencies-in-software-projects-as-a-function-of-effort/
#cleancode
Так, ну и немного про организацию кода на ночь глядя. Разбор случаев добавления опционального состояния во ViewController'ы с предлагаемыми решениями проблемы.
http://khanlou.com/2017/03/that-one-optional-property/
#cleancode
http://khanlou.com/2017/03/that-one-optional-property/
#cleancode
Все знают шуточку про две действительно сложные задачи программирования, одна из которых - нейминг класса. Если у вас с этим сложности, то ловите гайд по тому, как придумывать экспрессивные и ясные названия для новых сущностей. Всякие
https://hackernoon.com/software-complexity-naming-6e02e7e6c8cb
#cleancode
CompoundAbstractFactoryHeterogeneusRouterBuilder
не рекомендуют, а жаль.https://hackernoon.com/software-complexity-naming-6e02e7e6c8cb
#cleancode
Hackernoon
Software Complexity: Naming
<span>G</span>ood writing is hard. But why? Because good writing is about good reading. We tend to focus on the former and forget the latter. We forget that code is written only once, but read many times.
Интегрируем CPD в свифтовый проект и ищем дублирующийся код.
https://medium.com/@nvashanin/%25D0%25B8%25D0%25BD%25D1%2582%25D0%25B5%25D0%25B3%25D1%2580%25D0%25B8%25D1%2580%25D1%2583%25D0%25B5%25D0%25BC-copy-paste-detector-%25D0%25B4%25D0%25BB%25D1%258F-swift-%25D0%25B2-xcode-9ae87c20748
#cleancode #tools
https://medium.com/@nvashanin/%25D0%25B8%25D0%25BD%25D1%2582%25D0%25B5%25D0%25B3%25D1%2580%25D0%25B8%25D1%2580%25D1%2583%25D0%25B5%25D0%25BC-copy-paste-detector-%25D0%25B4%25D0%25BB%25D1%258F-swift-%25D0%25B2-xcode-9ae87c20748
#cleancode #tools
Medium
Интегрируем Copy-Paste-Detector для Swift в Xcode
DRY Principle
Не используйте кроссплатформу, сториборды, сторонние зависимости и менеджеры пакетов. А, и используйте CoreData. (Мнение автора статьи в ряде пунктов не совпадает с моим, если что)
https://hackernoon.com/5-key-learnings-after-8-years-of-ios-development-7190d8a01d09
#cleancode
https://hackernoon.com/5-key-learnings-after-8-years-of-ios-development-7190d8a01d09
#cleancode
Hacker Noon
5 key learnings after 8 years of iOS development
I’ve been coding for iOS since 2009 and have been involved in the development of countless apps. These are some of my key learnings for…
Ну а теперь по делу. Перечень наиболее часто встречающихся code smells, по которым можно понять, что где-то что-то пошло не так. Ну а некоторые из них могут послужить источниками вдохновения для написания новых правил линтера.
https://8thlight.com/blog/georgina-mcfadyen/2017/01/19/common-code-smells.html
#cleancode
https://8thlight.com/blog/georgina-mcfadyen/2017/01/19/common-code-smells.html
#cleancode
8th Light
Common Code Smells | 8th Light
Developers are typically trained to look out for and guard against logical errors that have been accidentally introduced to their code. Such errors will range from forgotten edge cases that have not been handled to logical bugs that cause entire syst...
Можно ли использовать в своих проектах сторонние UI-компоненты? Спойлер - нет, и в статье приводится ряд неплохих аргументов за эту позицию. Можете переиспользовать в следующем споре при попытке затянуть очередной под с красивыми вьюшечками.
http://holko.pl/2017/05/31/avoiding-ui-libraries/
#libraries #cleancode
http://holko.pl/2017/05/31/avoiding-ui-libraries/
#libraries #cleancode
holko.pl
Avoiding Third-Party UI Libraries
There’s been some discussion recently in the iOS community about pros and cons (OK, mostly cons) of using third-party dependencies. Many arguments I saw were rather generic — grouping all third-party libraries into one basket. As with most things, though…
Про сложности нейминга, govnokod и то, как функциональное программирование помогает выражать свои мысли даже без достаточного знания английского.
https://temochka.com/blog/posts/2017/06/28/the-language-of-programming.html
#functional #cleancode
https://temochka.com/blog/posts/2017/06/28/the-language-of-programming.html
#functional #cleancode
Temochka
The language of programming
Coding as a non-English speaker, or what Excel, Illustrator, and functional programming can teach us about names.
Классификация разных видов комментов в коде и гайдлайны по использованию каждого.
http://www.vadimbulavin.com/the-art-of-commenting-in-swift/
#cleancode
http://www.vadimbulavin.com/the-art-of-commenting-in-swift/
#cleancode
Yet Another Swift Blog
The Art of Commenting in Swift
Learn how to write excellent documentation comments in Swift. We'll cover: kinds of comments; Xcode markdown syntax and Xcode quick help; how to generate documentation in Xcode; Swift-flavored markdown; Swift comments best practices.
Проводя параллели между хорошей кодовой базой и шкафом, автор статьи выводит несколько базовых правил для любого разработчика. Ничего нового, но помнить об этом – важно.
https://medium.com/@artemstepanenko/lessons-from-a-closet-c2879436bb7a
#cleancode
https://medium.com/@artemstepanenko/lessons-from-a-closet-c2879436bb7a
#cleancode
Medium
Lessons in software development from a closet
Good code is so dumb and straightforward that even a junior developer has a good chance to understand it. In order to make this possible…