Как стать автором
Обновить
0
0
SergeyKish @SergeyKish

Пользователь

Отправить сообщение
Да эта страшная проблема, для каждой операции обязательно нужен свой символ :D
Так и до смайликов недалеко

// separator.cpp

#include <stdio.h>

namespace space
{
    void printf(const char * text)
    {
        ::printf(text);
    }
}

class Class
{
public:

    static void printf(const char * text)
    {
        ::printf(text);
    }
};

int main()
{
    ::printf("global\n");
    space::printf("space\n");
    Class::printf("class\n");
    return 0;
}

$ g++ separator.cpp -o separator && ./separator
global
space
class
Сделай патч (тм)
Та же проблема — Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092510 Ubuntu/8.04 (hardy) Firefox/3.0.3

У вас Ubuntu?
Такие ошибки Хабр не любит, хоть все понимают что речь была о объектном или структурном программировании.

Тоже не понравилось
> особенно, если он большой
Кармы нет — не поучаствовал :(

Не нужно учить плохому — кто-то ведь может послушать.
Попробуйте использовать структурный или объектно-ориентированный подход.
(Я не о return, код действительно нужно поправить)

Итак есть метод
addComment

1. Думаю авторизация проверяется не только в этой операции — выносится из метода
2.
comment->Validate()
— там же проверки ввода мейл и чего еще пожелаете.
3.
post = new Post(:id)
— если поста нет — эксепшн и в лог!
4.
post->isClosed()
— ок
5, 6, 7, 8, 9.
user->canPost()
— права доступа это совсем другая история
10, 11.
comment->save()
— сохранение, обработка сохранилось/нет — тоже другая история

12. Имхо, стало проще. Ну а точки выхода это мелочи — ставьте где угодно :-)
В вашем варианте смотрим на метод и думаем «где изменяется result». Посмотрите сами на код — поток управления в вашем варианте просто теряется.

Количество кода может отражать качество — чем больше кода тем дольше в него вникать.
Краткость — сестра таланта :-)
Просто нет серебрянной пули, а значит не стоит говорить «не используйте return».

Мне больше нравится первый вариант

>>> def getValue(data): 
...     if isWrongValue(data):
...             return 0
...     return parseValue(data)
... 
>>> def isWrongValue(data):
...     return data == 'wrong'
... 
>>> def parseValue(data):
...     return data.count('h')
... 
>>> getValue('wrong')
0
>>> getValue('hello')
1


А вот без отсечения результата:
>>> def anotherGetValue(data):
...     value = 0
...     if isGoodValue(data):
...             value = parseValue(data)
...     return value
... 
>>> def isGoodValue(data):
...     return data != 'wrong'
... 
>>> anotherGetValue('wrong')
0
>>> anotherGetValue('hello')
1


Может не использовать временную переменную? Лучше но зависит от ситуации:
>>> def yetAnotherGetValue(data):
...     return isGoodValue(data) and parseValue(data) or 0
... 
>>> yetAnotherGetValue('wrong')
0
>>> yetAnotherGetValue('hello')
1


PS: тоже делюсь мнением
PSS: есть платформа Symbian, использование return там практически невозможно в связи с оригинальной системой обработки ошибок и это очень неудобно
Информация — промахи кэша существуют, вероятно для оптимизации нужно с ними бороться :-)

Часто достаточно показать существование пути.
Методы решения меняются, вопросы остаются.
С OMP не знаком, но строка omp_set_num_threads(2); смущает.
На негугловских тестах ничего он не рвет
Делаете так:
— создаете один большой хидер, в который включаете все хидеры проекта
— маскируете невнятным раскидыванием функциональности и ложным именованием

Готово! Теперь при попытках развивать проект будет ребилдится весь проект.
так никто не мешает использовать такой URI в REST
Вы можете просто прочитать? Я даже приведу то что написано парой строк выше (и то на что сам комментировал)

> Ага, ну вообще даже по самой концепции REST должны быть контроллеры, у которых должно быть не более 7-ми методов, а остальное — параметры.
> И если информационная архитектура спроектирована правильно, то эта схема по идее должна быть применима вообще везде.
> Хотя, скорее это касается некоторых информационных систем, нежели веб-сайтов.

Как вы думаете к чему относится «не более 7-ми методов, а остальное — параметры»?
Посказываю — RESTful.

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

Теперь читаем мой коментарий — «как вы реализуете login logout методы?»
И таки как эти методы вписываются в RESTful?

А вот и ваш кометарий! «А что непонятного с логин/логаут?»
Ну и к чему? Что вы пытаетесь доказать прочитав только крайний пост???
Как раз после прочтения книги Александреску появилось чуство что С++ не мое.
Потому что жутко не нравится время компиляции и совсем не радует его увеличение библиотеками Loki, Boost. С STL приходиться мириться.

После довольно жуткого проекта с временем полного ребилда пять минут и убитой архитектурой (ребилдить приходилось часто) переметнулся к динамическим языкам.
Теперь занимаюсь Python, Ruby, PHP, JavaScript.

PS: Кодогенерация есть в Qt — qmake. Интересно почему такие системы не получили распространения?
Имхо, кодогенерация шаблонами не гибка, многословна и даже не кеширует результат.

PSS: Python + Qt — отличная связка.
Имхо, это лишнее. Зенд — это не частья языка и даже не уровень системных библиотек.
Эти элементы скорее всего пригодятся только тем кто и так их использует.

К тому же версия зенд будет жестко привязана к версии пхп. Оно вам надо?
Интересное решение, а как изменилось время компиляции?
ну как это ложится в CRUD?
А еще в космосе и на Солнце их куча — как раз от них пятна появляются.

Для существования жизни необходимы определенные условия. И изменение условий может ее убить.
Да, есть бактерии выдерживающие свыше 100 С (до 450!), значит нужно нагреть сильнее.

Что касается «полностью изолированных гранитных полостях» — может не полностью изолированы? Я о подземных водах, залегающих глубже пары метров. Жизнь потребляет энергию, следствие — сожрет всю и здохнет, вопрос времени.

Погуглив легко найти статьи с кучей «даже», «нашли», «не ожидали». И говорят это о том что условия для существования жизни — редкость.

Информация

В рейтинге
Не участвует
Откуда
Украина
Дата рождения
Зарегистрирован
Активность