Тогда непонятно каких комментов вам не хватает. Моя строчка это буквальный перевод на powershell «для всех файлов *.jpg переименовать их в „pic<случайное число>.jpg“(я даже не могу придумать как это осмысленно прокомментировать не переписывая спраку по powershell) у автора нагромождение повторения конструкций PoSh только стредствами переписывания их через библиотеки дотнет. Причем их автор тоже не знает. Возьмем например:
Это надо еще глазами распарзить это дело и понять, что интенция автора — получить имя файла.
В-общем, мое мнение, что если человек знает синтаксис powershell и базовые команды (или не поленится посмотреть просто справку) то ему понятней будет однострочник.
Вот расшифровка построчная
ls *.jpg # выбрать все файлы *.jpg. ls - это алиас для Get-ChildItem
| # pipe - таким символом команды PowerShell присоединяются друг к другу. То есть на вход следующей команды будет подан выход предыдущей
% # алиас для ForEach-Object - оманда вызывает следующей за ней блок для каждого элемента входа
{ # это открывающая скобка - начало блока
ren # это алиас для Rename-Item
$_ # это теущий аргумент блока - то есть в нашем случае - файл
pic$(random).jpg #строчка с выражением внутри. random - алиас для Get-Random - получение случайного числа, или случайного объекта из списка
} #конец блока
Вот мегапрокомментирванный код, только все коментарии сводятся к объяснению синтаксиса и базовых средств работы с объектами в powershell
Ну код-то дожен быть протестирован, а если ты не умеешь это делать через публичный интерфейс по причине кривизны твоего самодельного фремворка, то что остается делать?
Все очень логично. Автор ниасилил доку по doctest, автор по какой-то причине (будем вежливыми) не набрал «doctest php» в гугле и решил делать свою реализацию (хотя мне странно, что никто из собравшихся не спросил автора, чем его реализацию лучше ХХХ) =>
в его восхитительной реализации можно тестировтаь только изолированнве методы => код приватного метода сложно покрыть вызовом публичного =>
УРА! Инлайн тесты можно использовать для тестирования закрытых членов класса!
Хотелось бы посоветовать автору перед тем, как что-то делать самому или написать о чем-то своем на хабре, произвести поиск готовых аналогов.
В посте про WoA Синофски упомянул, что ARM версия курочится под конкретную арзитектуру и потому будет поставляться только с оборудованием. Может быть такое превью и будет, но будет раздаваться вместе с каким-нибудь тестовым планшетом
вместо вызова GetFilenameWithoutExtension
Это надо еще глазами распарзить это дело и понять, что интенция автора — получить имя файла.
В-общем, мое мнение, что если человек знает синтаксис powershell и базовые команды (или не поленится посмотреть просто справку) то ему понятней будет однострочник.
Вот расшифровка построчная
Вот мегапрокомментирванный код, только все коментарии сводятся к объяснению синтаксиса и базовых средств работы с объектами в powershell
имхо читабельность ухудшилась только для людей не знающих powershell
и
— только foreach работает со всеми коллекциями а не только с файлами
— фигурные скобочки вместо do и done
Но обычно переменные для циклов не декларируют так как есть уже встроенная $_
но тут нет гарантии уникальности — теоретически фотка может затереться — пока у меня ничего короче сем вот это не получилось
в его восхитительной реализации можно тестировтаь только изолированнве методы => код приватного метода сложно покрыть вызовом публичного =>
УРА! Инлайн тесты можно использовать для тестирования закрытых членов класса!
Хотелось бы посоветовать автору перед тем, как что-то делать самому или написать о чем-то своем на хабре, произвести поиск готовых аналогов.