Comments 59
Обоже, уберите «лучайный совет». Ваша дизайнерская метафора не работает. Ну ни чуточки.
И еще больше это касается «не повезет».
Жаль. Еще одно доказательство тому, что программисты не должны заниматься дизайном. :)
Тут дело даже не только в том, что, например, я был около 2-3 секунд в состоянии WTF и после этого примерно столько же был уверен, что вы опечатались. Тут еще то, что текст кликабелен, а «C» нет, что разумно означает, что «C» — это логически другая часть документа.
Оу, я поизучал и нашел, что таки кликабельно! Просто понять это сложно. Наводишь на один элемент, подсвечивается другой.
лол, смотря какие, я видел немало хороших программистских дизайнов
UFO landed and left these words here
UFO landed and left these words here
Я прочитал нормально.

Покажите свои макеты :) Часто дизайнеры рисуют красиво, но юзабилити — кал.

Программисты же обладают логикой, и при должной тренировке, могут стать гораздо более сильными проектировщиками интерфейсов.
Нужно вычитать тексты, а то сборник вредных советов и неправильной терминологии получится. Например:

> friend-аттрибут

friend — не атрибут.

> Старайтесь писать вместо int* a → int a[].

Вредный совет. int a[] автоматически заменяется (type adjustment) на int *a во многих местах, например, в параметрах функции.

> Если нужно указать точный размер массива, передаваемого в функцию, сделайте аргумент ссылочного типа:
> void Foo(int (&array)[42]);

Я бы не хотел это поддерживать. std::array же.

> tips.wincode.org/#24

И зачем этот хак? А как же mutable?

И так далее, к каждому второму совету у меня есть уточнения или претензии?

Ссылки на разделы стандарта следует писать в удобочитаемом виде, а не в виде номера раздела (например, [lex.icon]).

Спасибо за дельный комментарий. Скажем так, первым делом я хотел узнать у общества, нужно ли вообще подобное. Естественно, далее все тексты будут пересмотрены.
Это может быть нужно только если советы во-первых, правильные, во-вторых, с объяснением почему так, а в-третьих, спорные (полезность зависит от проекта и прежде чем применять стоит хорошо подумать) должны быть явно отмечены как таковые.
UFO landed and left these words here
Спасибо за репорт, в одном месте предусмотрел, а в комментариях — нет.
Получается, что подобным сервисом я узнаю не меньше, чем остальные :)
UFO landed and left these words here
Можете сказать. что вам не понравилось в дизайне? В следующей версии попробую убрать недочеты. С кнопкой назад тоже разберусь, спасибо.
поднимите кнопки вперёд и назад вверх — кнопки управления не должны менять своего местоположения из-за изменения строк в выводимом тексте.
Надо сделать цикличность, чтоб с первого на последний совет можно было перейти. Или убирать кнопку на первом.
Рейтинг падает с неизменной скоростью в 2 балла/сек. Препятствий для написания бота нет никаких. То есть вообще никаких. Поэтому, не думаю, что это хабраэффект.

Например, чтобы заплюсовать 25й совет достаточно запускать GET запросы на tips.wincode.org/Logic.php?action=vote&id=25&positive=true.
О, там даже на повтор никак не проверяется?
javascript:setInterval('vote(false)',100)

Немного полезных проверок сайту бы не помешало.
Хабр такой хабр. (: Но я знал, на что шёл. Просто решил заняться более важным функционалом. В следующей версии предусмотрю подобное.
Проект нужный, интересный, но с таким наполнением некоторым может быть вреден.
Примеры:
#4 Пустой класс автоматически получает 4 метода...

Тут только информация — совета не видно. Какой совет дается?

#13 Аттрибуты методов класса:

Примерно понял о чем речь, но скорее всего, это потому что я в курсе предмета. Новичок не поймет.

Некоторые советы даются без объяснения, например:
#9 В конструктор std::shared_ptr опасно передавать массив.

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

Я вижу следующие шаги:
1. Разграничение советов прошедших ревью и вновь добавленных. Добавленным верить нельзя — их нужно смотреть сообществом.
2. Возможность ревью, обсуждения советов, одним словом, возможность коллаборации до попадания в список доверительных.
3. Тематический каталог и поиск
А где комментарии к советам? Без них, имхо. никак… Где жизнь?
Ага, еще было бы неплохо прикрутить возможность «задать вопрос» … и получить StackOverflow.
Вообщем-то думал о комментариях, но мне кажется, что они излишни. Достаточно будет только «сделать ревью» кода, наверное.
Поддерживаю развитие проекта. Это как карточки слов в английском и т.д. было бы круто rss и/или приложение под мобильные системы. Так же хотелось бы видеть другие языки. Удачи
Замечания по юзабилити.

Справа две стрелки для голосования. У меня первый совет большой открылся, на весь экран и я сначала подумала, что это кнопки вперёд-назад и стала голосовать не читая.

Далее, кнопки вперёд-назад (которые внизу) не реагируют, если совет на весь экран. FF16, Oracle Linux если что
Идея хороша, совет — не стоит делать переносы у слов выделеным красным, сделайте отдельной строкой.
Что-то мне подсказывает, что чисто с точки зрения юзабилити было бы полезным поменять местами блоки mainHeader и contentWrapper. Это позволит не «ловить» каждый раз навигацию при изменении размера блока.
Для элементов управления с Клавиатуры давно придуман вполне внятный способ обозначения — подчёркивание первой буквы. А при наведении выводится подсказка. Например, для Случайный совет:
Случайный совет из базы знаний. Вы можете использовать кнопку <u>С</u> на клавиатуре.
И предложение от себя, поэтому спорное: для рейтинга заменить стрелочки на "+" и "-".
Гм-гм-гм.Есть некоторые сомнения по поводу проекта. Ну, для начала сразу косячок: в 4-м совете говорим, что в пустом классе создаются 4 метода, а в 34-м упоминаем nullptr. Не, тут либо 6 методов по умолчанию в C++11 либо nullptr у нас еще нет.

Но ошибки можно отловить, более важно — кто целевая аудитория проекта. Для новичков полезнее будет систематически проштудировать Мейерса и Саттера, чем случайный набор советов. А профи должны копать глубже.
UFO landed and left these words here
Советы я записывал из разных книг, на сайте все своим текстом, поэтому нужно дорабатывать. Спасибо! :)
Идея сама по себе отличная. Но просто советы в стиле fortune особенной пользы не приносят. Хороший поиск «сделает» половину проекта. Другую половину сделает сообщество :) То есть, два-три хороших грамотных программиста для ревью советов нужны как воздух.

Мой список желаний:
  1. Тематический каталог.
  2. Тэги — их не должно быть слишком много, по возможности.
  3. Несколько авторитетных (хотя бы для Вас) C++ программистов.
+1 за каталогизацию
Справа внизу где теги у вас много пустого места, можно туда перенести рейтинг и комментарии.
Просто рейтинг ни о чем не говорит, а вот соотношение нравится не нравится
image
Только цвет стандартный зеленый/красный и простой плоский like/dislike
image

Для комментариев есть стандартные облачка, еще полезно сразу видеть число комментариев
image

Избранное Отлично смотрится лентой, например вверху справа вот так
image
Только размер поменьше, напрмер как в wunderlist
image

Фон для кода можно менять на нейтральный, красный (не делайте так), зеленый (лучше так)
Сверху в заголовке одна крупная кнопка добавить совет
image
справа на кнопке можно сделать выбор языка при наведении
Идея хорошая, поддерживаю! Я даже для себя писал 5 лет назад небольшую программку, в которую записывал такие же тонкости, и не только о С++. Нужен каталог или какое-нибудь оглавление.
Есть замечательный (ну просто замечательный) C++ FAQ, там может с дизайном и не так всё хорошо, зато содержимое на высоте.

В принципе, Вы могли бы перевести часть информации оттуда, русскоязычного аналога я не нашёл. Было бы полезно.

И да, структурировать Ваши «советы» обязательно надо! Опять же, см. указанный сайт. Найти именно то, что тебе нужно — вот для чего сайты.

UPD: нашёл куцый перевод на русский: quirks.chat.ru/cpp/faq/
В том и проблема, что все подобные сайты перегружены информацией и очень сложные. Я хотел больше написать какой-то очень минималистичный интерфейс, без излишних нажатий и поисков. Если вы знаете, что искать, то для этого есть гугл. У меня же больше «карточки», которые дают вам новую информацию.

За сайт спасибо, займусь переводом для новых советов.
«карточки», которые дают вам новую информацию

без излишних нажатий и поисков

Значит, я что-то никак не пойму, видимо, смысла проекта. Новая информация «из ниоткуда» — это в чём-то интересно, но смысла в этом я лично вижу мало. Карточки — это хорошо для иностранных слов, где нужно тупое запоминание. В программировании же больший упор делается на понимание.

Получается, что Ваши карточки — что-то вроде шпаргалок. Но если это шпаргалки, то как найти нужную для «подготовки к экзамену»? Поиска-то и каталога нет.

Я, как человек, изучавший почти с нуля несколько языков программирования, могу сказать, что лучше всего для изучения — практика. Такого рода информация без привязки к практике значит, по моему мнению, достаточно мало.

Извините, что раскритиковал тут всё, проект в чём-то интересный и я рад, что такие проекты бывают )
Вполне вероятно, что этот проект действительно найдёт свою аудиторию (и даже немаленькую).
Если вы знаете, что искать, то для этого есть гугл.

Последнее время гугл меня кидает на мои запросы именно на C++ FAQ, поэтому уже рефлекторно хочется вместо гугла открыть его. =)
Комментарий не по сути.
"(М)не повезёт" читается лично мною просто как «не повезёт» (а «м» — некий хоткей). Может отбивку поменьше сделать?
Недавно начал писать подобное только по Ruby, есть еще несколько интересных идей, надеюсь в скором времени и от меня появится статья…
Идея прикольная, посмотрел советы, но не вижу причин по которым я зашел бы на этот сайт еще раз. Просто не знаю зачем.
>Не ограничиваться C++, ввести подобие хабов на хабре
+1
> Авторизация через социальные сети
любая регистрация должна быть по желанию…
чел должен пользоваться ресурсом без регистрации…

> Добавление заметок в избранное
не обязат
> Игнорирование заметок
не обязат
Я бы добавил ряд советов по проэктированию программ — мое имхо, криво спроеэктированая программа хуже криво написанной.
лично я смысла в сайте не вижу. Для подобного есть cplusplus.com.
Однако, если увеличить количество тонкостей, вроде количества битов в limits.h, то да — смысл имеется.
я считаю, что лучший совет по С++ — это, использовать его там где это действительно нужно.
Мне идея ресурса нравится. Считаю, что автору и дальше стоит продолжать его позиционировать не как очередной FAQ, а скорее как набор коротких статей/советов для спокойного и размеренного изучения в отрыве от текущих задач и проектов. Ведь от чтения хорошего кода можно получить не меньше эстетического удовольствия, чем от чтения хорошей книги.
Only those users with full accounts are able to leave comments. Log in, please.