Pull to refresh
1
2
Subscribers
Send message
… © Б. Мейер. Основы объектно-ориентированного программирования, глава о критериях качества ПО.

По статье: а как же такие критерии, как расширяемость и модульность?
принятие странами континента строгого антипиратского законодательства… приносит пользу… правообладателям.

Выделил суть.
Литературно перевёл диаграмму на русский язык:

image
Вот и изъясняйтесь и пишите нормально, а то у вас «своем то» без дефиса и выделение через капитализацию вместо смены гарнитуры шрифта (капитализация зарезервирована под аббревиатуры).
робот-автомобиль

Как бы не получилась Toyota Camri
Нет, одним нужны результаты здесь и сейчас, а другим нужны результаты здесь, сейчас и потом.
Предлагаю на посторонние твиты подавать жалобы.
Блин, забыл название организации, которая IP-шники Роскомнадзора собирала…
Потому что голландцы считают, что к человеку на улице надо относиться так же, как к нему относятся дома. В Японии, например, наоборот: человек должен дома вести себя так же, как на улице. А в России дома ты можешь быть пьяным геем, но на улице изволь соблюдать этикет и не заигрывать с кем попало. © Тим Керби
DrMetallius уже говорил об этом, но я всё равно повторю. Любая библиотека имеет контракт. Например, ядро UNIX в своем контракте имеет примерно следующее: «если ты вызовешь fopen(…) с такими-то параметрами, на полученном FILE сделаешь fwrite(…) с неким буфером в памяти, а потом сделаешь fclose(…), то содержимое этого буфера будет записано на диск». И если вы заплатили за разработку UNIX-подобной ОС для ЭВМ на базе 144-ядерного процессора Ч. Мура, попытались в ней записать описанным образом дату на диск, а она тупо не сделала ничего, то вы вправе предъявить разработчику неустойку. А вот если вы запустили программу:
void *f = fopen("some.txt", "w");

, и она вылетела с SIGSEGV или вообще не скомпилилась, то это ваши личные трудности. Как и то, что если она все-таки заработает, но после обновления вдруг перестанет.

Контракт может быть хорошим и плохим. Например, если Javadoc библиотеки состоит из одного класса с одной статической функцией «void doCommand(String command)» без какого-либо комментария. Точно так же и реализация может быть хорошей и плохой: например, компилятор IBM XL C/C++ согласно документации по умолчанию должен вставлять выброс std::bad_alloc при невозможности выделить память оператором new, но на самом деле вставляет возврат nullptr. Кстати, тут кто-то кому-то имеет право предъявить неустойку, но все как всегда реагируют нордически, не суть. Так вот, если в документации к библиотеке написано незнамо что, то и библиотека с точностью до бритвы Оккама делает незнамно что (и вполне логично её заменить другой, делающей знамо то, что нужно). А если в доках написано одно, а при тестах библиотека выдает другое, то это баг (по определению), и реагировать на эту ситуацию нужно, как на баг, а не делать okay-face и городить очередной workaround.

И уж тем более не надо заниматься чтением исходников без необходимости, а то потом появляются быдлоколлеги, которые определяют размер выделенного в куче блока через «(ulong)(pObj-sizeof(long))» («да это работает на Линуксе, я проверял!») и велосипедят свои shared_ptr.
Чертов Dolphin. Я тоже пользовался WinAMP-ом пять лет назад. Кто-нибудь, переставьте один голос с «другой» на «WinAMP».
Вещи, которые в гугле отражены чуть лучше, чем словесные понос, в статье

и отражены, как словесный понос. Как и все ваши комментарии, кстати. Есть такой тип людей, речь которых напоминает индусский код: её много, она вихляет от темы к теме (поэтому такой человек может запросто начать с просьбы убрать слово «поверхностно», а закончить маржинальными сетками) и совершенно не делится не то что на разделы, а даже на абзацы. При этом видно, что человек разбирается в теме, но складывается ощущение, что у него в голове один огромный непрерывный архив RAR, и ради одного клочка знаний он пытается распаковать его весь через рот или клавиатуру, а после «распаковки» нужного «файла» никак не может остановиться.

Я не знаю, что это за недуг (не так часто встречаюсь с такими людьми), но я определенно не хочу читать всю статью или даже книгу целиком ради одной нужной мне строчки. И, судя по тому, что другие алготрейдеры никак не отметились тут, они тоже не хотят.
Я про стиль изложения. Полезный опыт в этом посте, может, и есть, но он скрыто за таким поганым изложением, что его поиск превращается в СПГС.
А теперь действительно поверхностно об основах рыночной архитектуре и алготрейдинге:
— Биржи, которые у всех на слуху, живут за счет поставок хомячков и исправных поставок финансов уже привлеченными хомячками. Без них рынок мертв.
— Хомячки, выходящие в стабильный профит, биржам не выгодны (они создают т. н. токсичный поток финансов). Таких вычисляют и начинают бить отказами сделок, либо вообще отказываются от работы с ними.
— Деривативами торговать безопаснее и юридически, и финансово.
— Фундаментальный анализ рулит на больших таймфреймах, технический — на малых.

Статья — шизофазический бред. Нет, это не «технарский» стиль изложения — Д. Кнут тоже пишет тяжело, но при желании в его трёхтомнике даже студент-первокурсник может разобраться. Особенно вот это вот порадовало:
(только что придумал)

Даже не сколько само примечание, сколько количество раз, которое оно встречается.
Еще было бы прикольно реализовать компилятор какой-нибудь другой фигни в эту фигню; например, подмножества Haskell.
Аналогично. Пишу так, как учили в школе меня и подавляющее большинство россиян: x>0. Так сопровождающему мой код будет проще, он не будет тратить время на узнавание этого мини-паттерна.

Два неравенства: x>0 и x<10 — стараюсь сделать максимально похожим на общеизвестное сокращение: 0<x<10. То бишь, пишу так: 0<x && x<10.
Вы будете смеяться, но я однажды таки распечатал список файлов, содержащихся в бэкапе, в сам бэкап. Потом долго удивлялся, почему он вдруг стал весить 0 байт.
будет свинством со стороны Микрософт.

Как будто это их когда-то останавливало.

Information

Rating
Does not participate
Registered
Activity