0xd34df00d 11.05.2011 07:00 Azoth_primary

Господа, а как вообще обсуждать код при распределенной разработке? Увидел тут, например,
template<typename InputIterator, typename Function>
bool any (InputIterator first, InputIterator last, Function f)
{
for (; first != last; ++first)
if (f (*first))
return true;
return false;
}
и сразу захотелось написать что-то типа
// а почему бы не выразить any через std::find_if (first, last, f) != last
перед методом, но ведь такое обсуждение в комментах — это хуита.

1. ulidtko 11.05.2011 07:02 lunatic asylum

мейл-лист тебе зачем?

2. 0xd34df00dulidtko /1 11.05.2011 07:02 Azoth_primary

Я чо-та не уверен, что тот разработчик на него подписан. Да и смысл получать эту ерунду всяким мейнтейнерам?

3. ulidtko0xd34df00d /2 11.05.2011 07:03 lunatic asylum

послать ему письмо/IM/whatever лично?..

ну и по сабжу, ты, typically enough, переусложняешь.

4. 0xd34df00dulidtko /3 11.05.2011 07:05 Azoth_primary

Почему это я переусложняю?

5. ulidtko0xd34df00d /4 11.05.2011 07:06 lunatic asylum

функция работает, причём работает корректно. Мало того, она _уже написана_. Что ты улучшишь этим исправлением? Слишком низкий порог вхождения?

6. ignotus 11.05.2011 07:09 home

так перед принятием коммита сделай это

7. 0xd34df00dulidtko /5 11.05.2011 07:09 Azoth_primary

Чем меньше велосипедов, тем лучше. Собственные велосипеды надо выражать через STL'ные.

8. 0xd34df00d0xd34df00d /7 11.05.2011 07:11 Azoth_primary

Олсо, в glibc иные велосипеды из STL вполне умеют распараллеливаться, например. Не уверен, что find_if в данном случае распараллелится, но это просто хорошая практика и rule of thumb.

9. ulidtko0xd34df00d /7 11.05.2011 07:15 lunatic asylum

аргумент выглядит слабо, фанатично.

И если уж на то пошло, то все плюсы и весь STL — велосипеды. Принципиально новых (и одновременно практичных) вещей по сравнению с сишкой там нет. Читни http://yosefk.com/c++fqa/, если ещё не.

10. 0xd34df00dulidtko /9 11.05.2011 07:19 Azoth_primary

Да, потому что это rule of thumb — стараться реюзать код и выражать собственные вещи через стандартные, а не изобретать каждый раз с нуля.

11. ulidtko0xd34df00d /10 11.05.2011 07:34 lunatic asylum

но не до такой же степени. Брутальный цикл for в абсолютно приватной реализации функции в джвадцать раз проще и понятнее, чем функциональщина с лямбдами (not exactly the case). По крайней мере в плюсах оказывается так, что циклы писать и читать умеют все, а пользоваться переусложнённым и в черезчур большей части дублирующим STL — НЕ все.

Да, и если посмотреть на велосипедизм с STL с другой стороны, то можно задать и такой вопрос: а как так вообще получилось, что такая красивая, обобщенная и всесторонне полезная функция any(Iterator, Iterator, Function) отсутствует в STL? Да они же сами склоняют программистов крутить педали! Нет, ну серьёзно, STL выглядит... странно. Странно, бесполезно, дублирующе и переусложнённо.

12. 0xd34df00dulidtko /11 11.05.2011 07:35 Azoth_primary

STL выглядит как стройный набор гов^W кирпичей для построения своих алгоритмов. Хотя, впрочем, многих полезных вещей там действительно нет искаропки. Пойду добавлю any, apply_if и так далее в utility-библиотеку личкрафтов.

13. ulidtko 11.05.2011 07:35 lunatic asylum

дедфуд, ты, кстати, как плюсофаг, не думал попилить буст, пообсуждать C++0x?..

14. 0xd34df00dulidtko /11 11.05.2011 07:35 Azoth_primary

А насчет не до такой степени — да. Но как-то так получилось, что в личкрафтах и так не самый тривиальный код везде, и люди, неспособные это осилить, там не особо нужны.

15. 0xd34df00dulidtko /13 11.05.2011 07:36 Azoth_primary

Попилить буст хорошо, но я еще не осилил сорсы MPL/Fusion/Proto/Phoenix3, поэтому у меня БУГУРТ.
А чо там обсуждать в C++0x-то? Опять говна наворотили, концепты убрали, decltype() не qualified-id, вариадики уныловаты, с лямбдами хуита, ибо проблема фунарга не решена вообще никак, и так далее.

16. ulidtko0xd34df00d /15 11.05.2011 07:37 lunatic asylum

так блджад, смело и открыто им в щщи с вертушки же.

17. analizer 11.05.2011 08:33 mcabber

пиши в комментарии к code review что «reinventing teh wheel is the second root of all evil»

18. 0xd34df00danalizer /17 11.05.2011 08:33 Azoth_primary

> комментарии к code review
А где их проводить-то ваще?

19. analizerulidtko /5 11.05.2011 08:34 mcabber

чтобы понять что делает эта функция — нужно прочитать пять строк кода, да ещё и убедиться что работает корректно. а чтобы прочитать find_if, нужно... <тут был самоповтор>.

20. analizer0xd34df00d /18 11.05.2011 08:34 mcabber

а review board не прикручивается к гитхабу штоле?

21. 0xd34df00danalizer /20 11.05.2011 08:34 Azoth_primary

Неа. А как?

22. ulidtko0xd34df00d /21 11.05.2011 08:35 lunatic asylum

там же вроде можно обсирать коммиты в коментах, по всем канонам.

23. analizerulidtko /22 11.05.2011 08:35 mcabber

а с review board их можно обсирать до коммита

24. 0xd34df00dulidtko /22 11.05.2011 08:37 Azoth_primary

Изменения товарища размазаны по разным коммитам, заебешься сопоставлять.

25. analizer0xd34df00d /21 11.05.2011 08:37 mcabber

хз, я в гитхабе не силён, вот тут что-то нагуглилось: http://hookhub.appspot.com/ChipX86/hook/...

26. analizeranalizer /25 11.05.2011 08:39 mcabber

вот хомпэйдж, там что-то было вроде http://www.reviewboard.org/docs/codebase...

27. 0xd34df00danalizer /25 11.05.2011 08:39 Azoth_primary

О, шпашибо, попробую поприкручивать.

28. analizer0xd34df00d /27 11.05.2011 08:42 mcabber

я вообще удивлён что в гитхабе встроенного механизма ревью нет

29. 0xd34df00danalizer /28 11.05.2011 08:44 Azoth_primary

Можно делать подстрочные комменты и обсуждать что-то в пулл-реквестах.

Do you really want to delete ?