Pull to refresh

Совершенный цикл for

Abnormal programming *Programming *Perfect code *C++ *

Сегодня необычный для меня формат статьи: я скорее задаю вопрос залу, нежели делюсь готовым рецептом. Впрочем, для инициирования дискуссии рецепт тоже предлагаю. Итак, сегодня мы поговорим о чувстве прекрасного.


Я довольно давно пишу код, и так вышло, что практически всегда на C++. Даже и не могу прикинуть, сколько раз я написал подобную конструкцию:


for (int i=0; i<size; i++) {
    [...]
}

Хотя почему не могу, очень даже могу:


find . \( -name \*.h -o -name \*.cpp \) -exec grep -H "for (" {} \; | wc -l
43641

Наш текущий проект содержит 43 тысячи циклов. Проект пилю не я один, но команда маленькая и проект у меня не первый (и, надеюсь, не последний), так что в качестве грубой оценки пойдёт. А насколько такая запись цикла for хороша? Ведь на самом деле, важно даже не то количество раз, когда я цикл написал, а то количество раз, когда я цикл прочитал (см. отладка и code review). А тут речь очевидно идёт уже о миллионах.


На КПДВ узел под названием «совершенная петля» (perfection loop).


image


Так каков он, совершенный цикл?

Читать дальше →
Total votes 92: ↑90 and ↓2 +88
Views 44K
Comments 170

Нейросети: где взять данные для тонкого обучения алгоритмов?

Big Data *Open data *Machine learning *Mobile App Analytics *Artificial Intelligence

Привет, Хабр! Меня зовут Алиса Невейкина, и я работаю в стартапе из Беларуси SmartCoders. Мы занимаемся разработкой нейросетей и решений на базе ИИ для бизнеса. Этот пост стал результатом глубоких раздумий об особенностях развития проектов с использованием машинного обучения, а также о моделях монетизации данных технологий. Если вы уже работали с ИИ или планируете это сделать, приглашаю присоединиться к обсуждению.

Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Views 2.5K
Comments 14