А может быть дело в том, что ваша дочка знает, что слово «лишний» может означать не только «ненужный», но и «не такой, как остальные», а кочевнику просто не объяснили, чего от него хотят.
Крестьянину показывают четыре рисунка: молоток, пила, топор и полено. Какой предмет лишний?
…
Ему попытались объяснить принцип решения этой элементарной логической задачи
При чём здесь логика? Тут, кмк, больше лингвистический казус, крестьянину не объяснили, в каком смысле употреблено слово «лишний». Крестьянин подумал, что его просят показать ненужный предмет, а среди них таковых нет.
На рисунке стакан, бутылка, сковородка и очки. Что лишнее?
Может быть — очки? Потому что в стакан, бутылку и сковородку можно налить воды, а в очки — затруднительно. Или стакан — потому что бутылка закрывается металлической пробкой, у очков металлические дужки, а сковородка вся сделана из металла. А может быть — бутылка, потому что у неё есть узкое горлышко.
Пока выработка солнечной энергии заметно меньше выработки от прочих, предсказуемость важнее постоянства: заранее зная, что в X часов мощность генерации упадёт, можно перекинуть генерацию на газовую или угольную ТЭС так же, как сейчас работают с обычными суточными колебаниями потребления.
Да, с первым — не сообразил, что это — для того, чтобы не выполнялась инструкция Truncate() если отрезать нечего. Однако, получается, что если, допустим, последние 3 значения в массиве равны null, то при вызове с параметром, равным array.Count-1 и array.Count-2 оно выдаст одинаковые результаты, а с array.Count — не сделает с ним ничего, хотя команда Truncate() отрезала бы последние 3 записи. Я не знаю, может быть так и надо, но выглядит как баг из-за преждевременной оптимизации.
Приведённая вами в первом примере функция — именно такая. Во втором примере мало что понятно без контекста. Почему если Count больше или равно количеству элементов в массиве, происходит просто возврат, а не, к примеру, выбрасывается исключение? Почему массив называется array, но не передаётся параметром? Что за тип TValue?
Не знаю, что хуже: многословные названия, из-за которых строчка занимает всю ширину 21"—монитора, или практика запихивать все самые тривиальные действия в функции с односложным названием.
Незачем выносить такую простую операцию в отдельную функцию. А внутри более длинного метода и для i найдётся более подходящее название, и для data, и T не потребуется в принципе.
Если индекса никак не избежать, посмотрю, есть ли смысл дать ему осмысленное название, например row/col. Иногда бывает, что i удобнее, но обычно в этом случае всё же можно заменить цикл на foreach
Лично я иногда захожу в книжный магазин, хочу взять что-нибудь из классики, но ужасаюсь типографикой, качеством бумаги, склейки и т.д. — и ставлю книгу на полку. Ладно бумага, но типографика для книг с большим тиражом — это же копейки.
Кассеты должны оставаться как нишевый продукт для коллекционеров и любителей старины, но не более. Как-никак, формат продержался на рынке больше сорока лет, печально, если на старой технике будет просто нечего воспроизвести. А вот в нужности девайсов типа Elbow сильно сомневаюсь.
Не могут тропки оказаться звериными, а реки и ручьи впадать в непроходимое болото?
При чём здесь логика? Тут, кмк, больше лингвистический казус, крестьянину не объяснили, в каком смысле употреблено слово «лишний». Крестьянин подумал, что его просят показать ненужный предмет, а среди них таковых нет.
Может быть — очки? Потому что в стакан, бутылку и сковородку можно налить воды, а в очки — затруднительно. Или стакан — потому что бутылка закрывается металлической пробкой, у очков металлические дужки, а сковородка вся сделана из металла. А может быть — бутылка, потому что у неё есть узкое горлышко.
Нелегко жить в вакууме.
Не знаю, что хуже: многословные названия, из-за которых строчка занимает всю ширину 21"—монитора, или практика запихивать все самые тривиальные действия в функции с односложным названием.
Лучше вообще избегать индексов в циклах.