|
Труд вопреки насмешкам
|
|
Используется ли в реальных задачах функция "FindMean"?30.04.2025, 23:42. Показов 2120. Ответов 25
Метки нет (Все метки)
Важно! Функция FindMean - это не просто Mean, которая считает среднее арифметическое. Та, разумеется, используется очень часто, в том числе с лямбдой. А вот FindMean - это функция, которая возвращает элемент, лямбда от которого является средним арифметическим лямбд от каждого элемента в последовательности. То есть, например, лямбда
(x, index) => x * (index % 5), и если коллекция, например, { 0, 4, 5, 12, 0 }, функция вернет третий элемент - "5", так как (0 * 0 + 4 * 1 + 5 * 2 + 12 * 3 +0 * 4) / 5 = 10, а это лямбда от третьего элемента (считая с единицы).Вопрос, нужна ли такая функция? Не конкретно в моей библиотеке, а вообще. Не обязательно с лямбдой от индекса, хотя бы и только от элемента. В уходящие сутки я пытался добавить unit-тест на нее (потому что у меня такая установка - если отправляю в репозиторий, нужно добавить один большой unit-тест или два маленьких), и не смог внятно описать правильное ее поведение. То есть, она как-то работает, но корректно ли - не знаю из-за того, что не знаю, как корректно. После нескольких часов мучений я задумался, а не напрасный ли это вообще труд, имеет ли такая функция хотя бы какое-то практическое применение? То же самое касается функций FindMedian, FindMeanIndex и FindMedianIndex (последние две возвращают как индекс, так и элемент (через out), в отличие от IndexOfMean и IndexOfMedian.
0
|
|
| 30.04.2025, 23:42 | |
|
Ответы с готовыми решениями:
25
Культин "C# в задачах и примерах"
Явное приведение типов в задачах с наследованием |
|
14298 / 9383 / 1353
Регистрация: 21.01.2016
Сообщений: 35,374
|
|||
| 01.05.2025, 03:51 | |||
|
Добавлено через 27 секунд Ты новую библиотеку задумал? С очень нужными неизвестно кому и для чего функциями?
1
|
|||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||
| 01.05.2025, 07:58 | ||
|
0
|
||
|
Труд вопреки насмешкам
|
|
| 01.05.2025, 21:13 [ТС] | |
|
sau, не хотите ответить на этот вопрос? А то я в неопределенности - и опять мучиться с unit-тестом на функцию, которая не нужна, не хочу, и выпилить ее не могу, так как она может оказаться нужной. В итоге хожу целый день из угла в угол, как по дому, так и по Интернету, а бизнес простаивает.
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
|
| 01.05.2025, 22:37 | |
Сообщение было отмечено Etyuhibosecyu как решение
Решение
Etyuhibosecyu, на мой взгляд , в библиотеке должны быть популярные и востребованные функции в области ее применения , иначе можно напихать всего и вся и это будет просто мусорка , с которой никто не захочет разбираться/изучать. Средний арифметический лямбд - если эта библиотека коллекций для обычных прикладных задач и такая функция понадобится одному пользователю из 1000 , то он ее сам напишет , ибо не сложная , а если пользователи библиотеки это математики со своей спецификой - то наверно он возьмет какую нибудь матлаб и там все это есть. В общем , тут нужно смотреть на какую группу пользователей Вы ориентируетесь и в какой области ваша библиотека востребована , тогда будет видно нужна там эта функция или нет , для обычных смертных точно не нужна.
А еще библиотеки можно разбивать на части , каждую из которых оформлять своим пакетом , как дополнение , кому нужно просто скачает extension
1
|
|
|
Труд вопреки насмешкам
|
|
| 01.05.2025, 22:41 [ТС] | |
|
sau, я правильно понял, что ваш ответ - удалить?
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
||
| 01.05.2025, 22:51 | ||
|
0
|
||
|
Труд вопреки насмешкам
|
|
| 01.05.2025, 22:51 [ТС] | |
|
sau, простите, что не цитирую, с телефона неудобно, но библиотека на тему коллекций и около-LINQ, вообще-то планируется целый фреймворк, но тоже общего назначения, не для глубоких математиков. Для такого фреймворка (во многом похожего на сам .NET) такая функция - мусор?
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
||
| 01.05.2025, 22:53 | ||
|
и ладно бы там было что-то реально сложное для самостоятельной реализации , а так , одна строчка кода.
1
|
||
|
Труд вопреки насмешкам
|
|
| 01.05.2025, 22:57 [ТС] | |
|
sau, не вижу сразу ваших отредактированных сообщений, сейчас прочитал на 22:53, а я вроде упоминал про еще три смежных функции - FindMedian, FindMeanIndex и FindMedianIndex. Они тоже обычным смертным не нужны?
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
||
| 01.05.2025, 22:59 | ||
|
Вы , в первую очередь , раз уж решили свой велосипед организовать , должны были предварительно выделить целевую аудиторию , изучить проблемы - потребности , и тогда уже что-то пилить , и вопросов бы таких не было. А сейчас Вы на что опираетесь ?
1
|
||
|
Труд вопреки насмешкам
|
|
| 01.05.2025, 23:07 [ТС] | |
|
sau, опираюсь на вдохновение. На что тянет - то и пишу, последние дни больше - большой список (с потенциально почти бесконечной емкостью, намного больше 2Г). А иногда по полмесяца вообще ничего не пишу, если энергия Луны на нуле. Это неправильно?
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
||
| 01.05.2025, 23:10 | ||
|
Если Вы не решаете проблематику конкретной группы , у которой наболело , то ваша библиотека просто не будет востребована , - продайте мне вашу "ручку"
0
|
||
|
Труд вопреки насмешкам
|
|
| 01.05.2025, 23:16 [ТС] | |
|
sau, я так понимаю, решать проблематику конкретной группы, у которой наболело - означает, по сути, бесплатно выполнять её заказ, пусть даже и неявный (если она не обратилась за этим ко мне лично, а просто наболело абстрактно)?
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
|||
| 01.05.2025, 23:20 | |||
|
Вы конечно можете это и продать , но тогда тем более следует прежде изучить рынок и потребности.
0
|
|||
|
Труд вопреки насмешкам
|
||
| 01.05.2025, 23:30 [ТС] | ||
|
sau, просто я знаю, что, например, один из моих любимых "типажей", Форд, не решал проблематику конкретной группы, у которой наболело, а действовал на опережение. Но, наверное, чтобы это действие на опережение не попало "в молоко", а то и просто в никуда, нужно иметь нетривиальный талант, сделать как Форд обычный смертный вряд ли сможет?
Добавлено через 7 минут sau, добрался до компьютера (был процесс, который нельзя прервать).
0
|
||
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
||
| 01.05.2025, 23:35 | ||
|
0
|
||
|
Труд вопреки насмешкам
|
||
| 01.05.2025, 23:38 [ТС] | ||
|
0
|
||
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
||
| 01.05.2025, 23:54 | ||
|
А у нас спрашивать какая функция нужна , в библиотеке которая нам в принципе непонятно зачем - ну такое себе ).
0
|
||
|
Труд вопреки насмешкам
|
||
| 02.05.2025, 00:12 [ТС] | ||
|
sau, вот я выпилил все методы Find(All|Last)?(Mean|Median)(Index(es)?) ? - а теперь посмотрите хотя бы на заголовки классов и методов и тестов и подскажите - что еще не протестировано, а больше всего нуждается в тестировании? А что, возможно, стоит выпилить следующим?
Добавлено через 9 минут
0
|
||
| 02.05.2025, 00:12 | |
|
Помогаю со студенческими работами здесь
20
Требуется ли использование блокировки в задачах (Task)?
Как узнать, используется ли файл другим процессом Окно для регистрации автомобилей ( используется DataGridView ) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|