В stdin куда проще передавать: cat file | play или find $directory -type f -name «*.in» | grep -v kirkorov | play
Например если я хочу что бы проигрывание срабатывало не только тогда когда ранится программа с определенными параметрами? Что если я хочу принимать список проигрывания откуда то извне, а потом проигрывать или например хочу насписать таску с каким то интервалом?
Ну... Твой совет не в духе философии UNIX: программа должна делать одну вещь, но должна делать её хорошо. Для утилит командной строки это нормальное поведение. И в чём проблема пользователю запустить процесс и отследить код возврата?
Я говорю о том, что я хочу иметь возможность программно отслеживать ошибки. Что бы моя программа которая использовала бы эту либу, не крашнулась бы без моего ведома или отослала бы мне репорт на мыло.
И так вроде понятно... Документация будет выглядеть злой тавтологией :)
Программы всегда дополняются и расширяются и проще поддерживать уже существующие доки, чем писать все с нуля когда код усложнился и стал пообъемнее. К тому же читать доки не обязательно если не хочется, но лично я предпочитаю прочитать одно предложение с описанием того что делает функция, а не читать всесь её код. Комменты всегда помогают при поддержки кода.
Почему не сделали возможность того что бы Run принимала список того что нужно заранить, вместо того что бы считывать stdin? Мне кажется что Ваша либо упростилась бы и стала гибче в использовании.
На мой взгляд лучше бы вообще отказаться от panic и os.Exit в сторону просто возвращения ошибок, думаю, что сложно будет конечному пользователю захендлить все это. Определити перечесления с кодами ошибок/неудачного возарщения программы. Хорошо задокументируйте это.
Избегайте магических цифр (0666)
Больше документирующих комментариев)
бывает )
если спец по фреймворку не знает, к примеру, нюансы различий между простой и стрелочной функцией то застрянет Ваш специалист в первой же луже на пару дней. Если бы Вы знали реакт и хотя бы почитали доки к нему, то поняли бы что он во главу всего ставит понимание JS как такового. К тому же реакт ничего сам по себе не стоит без других тулзовин, а что бы в других тулзах разобраться (не поверите) тоже нужно хорошее понимание js.
Ну ок. Все мои замечения отпадают, с учетом того что это утилита командной строки, но и тут все не гладко. Ведь что бы эта утилита заработала, нужно скачать и установить голанг, научится комплировать его и только потом юзать утилиту? А как быть еще с юзверями на windows, если я не ошибаюсь там же нет пайпов, или они есть но как то хитро вымудрены?
Если я правильно помню то утилита только в одном случае возвращает код 1, все остальные пробрассывания err зачем тогда? Это избыточный код, для такого рода программ.
Получается гибрид утилиты и библиотеки, которую удобно можно применять только на линуксе, обладая опытом в программирование на голанге.