Если предполагаются «типичные» условия, то из этого следует, что монеты в столбике не смогут сравняться с 11 этажным жилым домом. Это для них явно не типично. Исходя из опыта складывания монет могу сказать, что дом должен быть совсем небольшим и, видимо, игрушечным(я думаю, что полметра максимум). И значит, что монеты легко поместятся в комнате.
После этих рассуждений вспомнил мультик про Доброго Эээха.
Простота и скорость добавления тестов: что и говорить, иногда хочется написать тест, но когда вспомнишь, что для этого придется создавать всю иерархию папок для этого класса (напр. App_Module_Class), потом создавать файл и класс теста, писать один и тот же занудный код проверки, потом искать, где же этот PHPUnit находится и как его корректно запускать, — руки опускаются. Да и не жалко это сделать, если тест сложный и важный, а вот когда простой...
У меня есть такое впечатление, что такие проблемы решены в IDE. В частности NetBeans позволяет легко и непринуждённо делать то, что вы описали.
А ещё такой подход мог бы добавить некоторого изящества в код:
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
Примерно вот так:
$ch = curl_init();
$setUrl = Partial::apply('curl_setopt', $ch, CURLOPT_URL);
$setOutputHeader = Partial::apply('curl_setopt', $ch, CURLOPT_HEADER);
$exec = Partial::apply('curl_exec', $ch);
$close = Partial::apply('curl_close', $ch);
// set URL and other appropriate options
$setUrl("http://www.example.com/");
$setOutputHeader(0);
// grab URL and pass it to the browser
$exec();
// close cURL resource, and free up system resources
$close();
Понятно, что это делается для удобства. Но понять в чём именно удобство не всегда можно понять только по описанию и применению.
Взять хотя бы портянки.
Портянка — кусок ткани для обматывания ноги, нижнее бельё для ног, прямоугольный кусок тёплой и прочной ткани, который использовался в старину вместо носка.
Чтобы портянка не разматывалась при ходьбе и беге, её нужно особым образом (плотно) наматывать на ногу. Делать это следует от носка ноги и непременно «наружу», а не «внутрь», чтобы при ходьбе она не сбивалась и не натирала ногу.
А из этого описания и способа применения нифига непонятно какие у неё есть достоинства.
Поэтому хотелось бы посмотреть на примеры и именно для этого языка.
Берём постулат:
1. Если что-то не используешь, значит тебе это ещё не нужно.
Берём программиста, который ещё ничего не использует. Из постулата значит, что ему ничего не надо. Значит он ничего не напишет. Но как видно, программисты что-то пишут. Значит одного этого постулата мало. Дополним.
2. Некоторые вещи, которые использует программист получаются случайно.
Из этих двух постулатов следует вывод: всё, что использует программист, когда-то начал использовать случайно.
Это понятно, что умный и опытный человек сам до всего додумается со временем. А хочется видеть пример, который позволит не слишком умным и не слишком опытным людям понять как это использовать.
После этих рассуждений вспомнил мультик про Доброго Эээха.
> Методом GET нельзя менять состояние.
> Нарушать *базовые* правила можно…
1. Даёт только снижение уровня угрозы, а не защиту. Всё ещё остаётся возможность просто подсунуть ссылку пользователю.
2. Увеличивается нагрузка.
Такая постановка вопроса звучит как руководство к действию.
У меня есть такое впечатление, что такие проблемы решены в IDE. В частности NetBeans позволяет легко и непринуждённо делать то, что вы описали.
А ещё такой подход мог бы добавить некоторого изящества в код:
Примерно вот так:
Взять хотя бы портянки.
А из этого описания и способа применения нифига непонятно какие у неё есть достоинства.
Поэтому хотелось бы посмотреть на примеры и именно для этого языка.
Берём постулат:
1. Если что-то не используешь, значит тебе это ещё не нужно.
Берём программиста, который ещё ничего не использует. Из постулата значит, что ему ничего не надо. Значит он ничего не напишет. Но как видно, программисты что-то пишут. Значит одного этого постулата мало. Дополним.
2. Некоторые вещи, которые использует программист получаются случайно.
Из этих двух постулатов следует вывод: всё, что использует программист, когда-то начал использовать случайно.