Я оценил программный проект, созданный консорциумом ведущих ученых в этой области. Однако сам проект на самом деле не работает, и был разработан только как доказательство концепции, а не как конечный продукт (т.е. он работает только с 2-3 сценариями).
Это программное приложение должно выполнить 4 шага для успешного выполнения. Каждый шаг принимает входной файл и создает выходной файл. Выходной файл с предыдущего шага используется в качестве входного на текущем шаге. Изначально вы начинаете с 1 файла. Этот файл используется в качестве входных данных для шага 1. После шага 1 создается другой файл. Назовем входной файл general_input_file
и выходной файл general_output_file
. Когда general_input_file
загружается в приложение, general_output_file
должно производиться. Теперь у меня есть входной файл, который я назову my_input_file
. Я ожидаю, что приложение будет производить файлы my_output_file
. Однако приложение принимает specific_input_file
и выдает толькоspecific_output_file
. Это означает, что он работает только с 2 файлами, которые были созданы ранее. Оба файла существуют в проекте. Когда я смотрю на часть проекта, которая должна обрабатывать general_input_file
, я вижу утверждение, которое выглядит так: если имя данного входного файла равно specific_input_file
, то вернуть specific_output_file
. Это файл внутри проекта. В противном случае попробуйте обработать generate_input_file
и сгенерировать файл general_output_file
. В этот момент программное обеспечение ломается. Возникает ряд исключений, и отладка и исправление этого выходит за рамки моей работы.
Вопрос: в статье, как вы подходите к этому вопросу? И как вы утверждаете в статье, что причина, по которой вы не можете оценить программное обеспечение в другом сценарии, связана с ограничениями программного обеспечения? Какую формулировку лучше всего использовать, не оскорбляя авторов?
Когда я смотрю на часть проекта, которая должна обрабатывать файл general_input_file, я вижу утверждение, которое выглядит так: если имя данного входного файла равно определенному_входному_файлу, то вернуть определенный_выходной_файл. [...] В противном случае попробуйте обработать файл generate_input_file и сгенерировать файл general_output_file. В этот момент программное обеспечение ломается.
Судя по вашему описанию, похоже, что код, на который вы смотрите, является жульничеством , возвращая предварительно вычисленный вывод, который, как известно, является правильным, если ввод соответствует одному образцу ввода, который авторы включили в свой код (предположительно, чтобы продемонстрировать его правильность и потому, что включение образца ввода требовалось, чтобы их работа была принята). Для всех экземпляров ввода, кроме этого примера ввода, код делает что-то совершенно другое, что не дает правильных результатов .
Такое поведение, без сомнения, заслужило бы неудовлетворительную оценку за домашнее задание или экзамен по курсу программирования. Если бы это было сделано в контексте коммерческого продукта, подобное поведение оправдало бы отставку генерального директора и многомиллиардный скандал . Таким образом, сказать, что код «низкого качества», кажется мне настолько эвфемистичным, что само по себе является нечестным утверждением. Я бы описал это так: если авторы утверждают, что их код правильный, то они лгут.
Теперь я мог бы обсудить ваш фактический вопрос о том, как обсудить эту ситуацию в вашей последующей статье «не оскорбляя авторов», но, честно говоря, я не вижу смысла. Вместо этого я бы спросил, почему вы не хотите оскорблять авторов? Дело не только в том, что алгоритм авторов может быть неправильным, а их код некачественным; они, по-видимому, совершают академическое мошенничество, отправляя неверный алгоритм с кодом, нечестно измененным, чтобы создать впечатление, что алгоритм работает. Я готов оставить 3% шанс, что может быть предложено какое-то другое, более невинное объяснение, но, учитывая описание, которое вы предоставили, я действительно не могу придумать ни одного. Я буду рад пересмотреть свое мнение, если вы предоставите более подробную информацию о том, как авторы
Наименее оскорбительный способ указать, что вы пытались использовать system-X (и это не сработало), — сказать что-то вроде
Мы также попытались обработать наши данные с помощью system-X [1023], но не смогли сделать это успешно из-за ошибок во время выполнения.
Это позволяет избежать возложения какой-либо вины, признавая при этом существование проекта. Я предполагаю, что очень высока вероятность того, что по крайней мере один из ученых, связанных с System-X, будет рецензентом вашей статьи. Если система не работает, они все равно получают ссылку. Если есть более новая версия программного обеспечения, которая действительно работает, вы можете получить полезный комментарий.
Вы также можете попробовать отправить электронное письмо авторам, чтобы узнать, есть ли способ обойти ошибку или есть ли более новая версия программного обеспечения. Включение журнала исключений в качестве приложения и избегание упоминания о том, что вы заглянули за кулисы, может быть дипломатичным.
Нужно ли работать?
Я знаю, вопрос странный, но исследователи не инженеры-программисты. Если целью проекта является создание полностью функциональной части программного обеспечения, то вызывает беспокойство низкое качество программного обеспечения. С другой стороны, если целью проекта является разработка новых способов ведения дел, тогда это программное обеспечение является прототипом, доказательством концепции, как вы упомянули, тогда работа в нескольких случаях является выдающимся достижением.
После проверки концепции инженеры-программисты могут прийти и превратить это в продукт, который является полнофункциональным программным обеспечением. Не заставляйте исследователей делать инженерную работу, у них это плохо получается :). Каждому свое.
Поймите контекст, чтобы понять результаты.
ИЛИ Картограф
Джейкбил
гнометоруле
Врзлпрмфт