Comments 10
С этим бы справился однострочник на PowerShell, а для linux можно взять bash или awk.
Разве что время некуда девать…
Количество странностей в этой статье просто зашкаливает.
Зачем править минимизированный js, когда доступны исходники. Сделайте форк для себя или пулл-реквест, если считаете, что фитча может быть полезна другим.
Уже сказали выше: километровая программа на с++ для замены подстроки в текстовом файле? Зачем? Это же несколько строчек на bash, питоне или ноде.
Тут вкусовщина, конечно, но посмотрите в сторону Remote Development плагина (который, как следует из названия, помимо копирования файлов предоставляет существенно более расширенные функции для удаленной разработки).
Приключение на 20 минут
Судя по описанию проекта на github, файлы конфигураций хранятся в папке проекта, потому что у каждого проекта могут быть свои настройки загрузки на (S)FTP сервер. Даже в случае, если все проекты копируются на один сервер, целевые папки все равно различаются по каждому проекту. Поэтому, не понятно, как автор смог объединить настройки вех своих проектов в один конфигурационный файл.
Не соглашусь с комментариями выше. Человек хотел сделать на C++ - он сделал на C++.
Слова Автора и Комментаторов, что можно было сделать быстрее и короче на ??? желательно дополнить: ТАК И НА C++ можно сделать быстрее и короче.
Например код:
if(this->selected_number == 1){ this->selected_number = 0; iter = false; }else if(this->selected_number == 2){ this->selected_number = 1; iter = false; }else if(this->selected_number == 3){ this->selected_number = 2; iter = false; }else{ ...
Можно написать так:
if (selected_number > 0 && selected_number < 4) {
--selected_number;
iter = false; } else { ...
В целом: приятно, что люди выбираются из своей зоны комфорта и пробуют что-то новое. Автор - респект.
Спасибо за понимание!!! Ваше замечание по коду исправил.
Э-э-э: Предполагалось, что человек написал статью в порыве желания попробовать что-то новое. Ну попробовал и попробовал. Отлично!
Однако, если (вдруг! сюрприз) Вам хочется идти дальше, то есть ещё пара советов (или рассматривайте текст ниже как излишнее ворчание ниочём):
не используйте system. Это вызов, который по +100500 причин может завершиться неудачно. Если уж совсем хочется сделать такой вызов, то НЕ используйте его (или хотя-бы контролируйте результат (и что-то с этим результатом делайте);
уберите (практически) все this. Вы используете его формально правильно, но это излишне;
с ошибками лучше определиться: либо совсем не обрабатывать (программа на коленке, для себя); либо обрабатывать (половина файлов проверяется на открытие, другая - нет; операции записи/позиционирования/др не проверяются). И не проверяется успех выделения памяти
лучше работать в одной кодировке текста. Могу порекомендовать либо utf-8 и std::string; либо utf16 и std::wstring. А вот ввод/вывод уже конвертировать в нужный вам формат. И не потребуется делать указатели на строки с ошибками (формат-то один);
По-моему, не хватает тэга "Ненормальное программирование".
C++ разведка кросс-компиляции Linux->Windows