Pull to refresh
4
0
Michael Rybakin @Mr_Rm

Инженер-программист

Send message

В этой фразе однозначно понятно разве что "купи" и, пожалуй, "десяток" как единица измерения. Остальное требует контекста.
"Батон" [хлеба], "будут" [в наличии], "яйца" [куриные], "возьми" == "купи" и т. д.

Ещё к терминологии:

в антарктических ледяных ядрах

Видимо имелись в виду керны (core samples)

Из исследования выпали три не поддающиеся оптимизации изменением раскладки клавиши: пробел и два шифта. С пробелом проблем не видно - он самый часто нажимаемый, но тут работают оба больших пальца. А шифты сильно портят оптимизацию. Во-первых, их приходится нажимать мизинцами, которые, как отмечено, на 10% медленнее остальных пальцев. Во-вторых, они ломают паттерн наложенных нажатий, требуя строго последовательного нажатия/отпускания (проблема ДВух ЗАглавных БУкв).
А ещё есть перевод строки, который тоже лежит возле мизинца.
Цифры и знаки препинания (особенно точку и запятую) наверное, тоже стоило бы включить в частотный анализ. И если последовательность цифр вряд ли можно куда-либо переместить с верхнего ряда, то что касается запятой и точки:

лучше расположить их вместо букв ъ и ё.

Далее немного не понятно:

Для ввода точки и запятой я использую аккорды тн и ае

Почему несимметрично? По раскладке получается 'тн' и 'ао', нет?

О родах:


Описание = Новый Структура()

В упомянутом справочнике "Весь Ростов и Нахичевань н. Д." большинство Федоров записаны через ферт, хотя встречаются и Ѳеодоръ (например, стр. 183, кол. 154), и Ѳеодора (стр. 182, кол. 150).

Сопоставляя номер газеты по ссылке и изображение в статье, видно, что верхняя и нижняя часть листа - это первая страница, а середина - последняя (шестая).

Ещё есть особенность на листе календаря. В середине, между словами Mercredi и Mittwoch есть число 23, обозначающее, видимо, григорианскую дату. Разность с юлианской составляет 12 дней. Однако, даты после 1.03.1900 следовало бы пересчитывать уже с 13-дневной разностью.

Возможны разные случаи сочетания имени функции и списка аргументов. В примерах рассматривается C++ — тогда это объявление, определение и вызов. Для объявления и определения отделение имени функции от скобки выглядит, пожалуй, оправданно:


private void someFunction (Type1 firstArgument, Type2 secondArgument);
...
void SomeClass::someFunction (Type1 firstArgument, Type2 secondArgument)
{

А для вызова, когда параметры сами могут содержать скобки, кажется более важным именно выделить каждое передаваемое значение.


width1 = CFStringGet((CFStringRef)first(arrayRef,0), second, third(1));
width2 = CFStringGet ((CFStringRef)first(arrayRef,0), second, third(2));
width3 = CFStringGet( (CFStringRef)first(arrayRef,0), second, third(3) );

Разумеется, отличия в синтаксисе других языков будут влиять на рекомендации, направленные на улучшение зрительного восприятия.
Где-то (например, в Go) не требуются скобки в управляющих конструкциях. В Perl скобки не обязательны даже при вызове функций; это и к вопросу о списках и отдельных аргументах. Вместо круглых скобок может использоваться вертикальная черта (Rust). Во многих языках активно используются угловые скобки, часто вложенные.
И далеко не всегда общепринятый для какого-либо языка стиль написания кода соответствует оптимальному визуальному представлению. OTBS и camelCase побеждают.

Именно так. Автор оригинала, конечно же, не имел в виду "prime": неравенство n/2+1/2 < n выполняется для всех действительных, больших единицы. А "simple" относится, видимо, к "theory".

Оригинал:
"In fact, some simple number theory can show us that as long as n > 1, then it’s always true that"
Перевод:
"И в самом деле, мы знаем для простых чисел покуда п> 1, то всегда верно что"
К математическим статьям надо бы подходить более тщательно.

Не упомянут и почему-то редко используется вариант, когда пробелами выделяется список аргументов:


result = someFunction( firstArgument, secondArgument );

Здесь и скобка остаётся у имени функции, и разделены идентификаторы, и акцентировано завершение списка аргументов.
Или ещё из примера со вложенными скобками, где, кстати, завершающая была потеряна:


width = CFStringGetDoubleValue( (CFStringRef)CFArrayGetValueAtIndex(arrayRef,0) );

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


whole( yards() );
while (nine())

В тексте для примера


auto x = obj.x;
auto y = obj.y;
auto z = obj.x;

указано предупреждение
V537 Consider reviewing the correctness of 'y' item's usage.
Оно соответствует примеру из ссылки на Compiler Explorer:


auto x = obj.x;
auto y = obj.y;
auto z = obj.y;

А для первого выдается
V525 The code contains the collection of similar blocks. Check items 'x', 'y', 'x'

Там может вообще не быть вывода десятичных чисел, только восьмеричных.

Да, точно, со скобками явно ошибся.

Вот теперь, похоже, всё.

А если так:


    MOV #NUMBER,R1
    CLRB -(R1)
1:  CLR (R5)
2:  INC R5
    SUB #10.,R0
    BHIS 2
    ADD #58.,R0
    MOVB R0,-(R1)
    MOV R5,R0
    SOB R0, 1
    RET

14 слов, 11 инструкций.
Счетчик вычитаний в R5 начинается с нуля и после цикла будет на единицу больше, чем должен.
Команда SOB вычтет лишнюю единицу, проверит на 0 и выполнит переход к началу цикла.

Если православные, то должно быть (U+2626)
А вот тут, в исправлении:
Правильно:
const Numeric *const num2 = o1.as<Numeric>();

разве не должно быть
const Numeric *const num2 = o2.as<Numeric>();
?
Про кэш — возможно, обновлял только комментарии, а не страницу целиком.
Но вопрос про анализатор: среагирует ли на такую опечатку, определив return false как unreachable, либо каким-нибудь иным образом?
1

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Registered
Activity