реклама на сайте
подробности

 
 
> Индусский код, много букв
juvf
сообщение Nov 7 2017, 12:05
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Вброс .... на вентелятор.
Столкнулся с одним кодом.... предлагается в 5 шагов поднять обмен по LoRa чуть-ли не с нулевым порогом вхождения в программирование... есть проект LowCostLoRaGw.

Конечно всё шоколадно. На проводочках ардуино+рфм95 и распбери+рфм95, по 5 шагов и вот тебе готовая система сбора данных. На базе Sx1272.cpp даже есть библа для абдурино ардуино.

Решил велосипед не изобретать и портировать этот код себе, благо дело сырци есть. Компилятор дал тонну ворнингов. Я уже молчу за такой код
Код
bool SerialPi::find(const char *target){
    findUntil(target,NULL);
}
я уже молча испоравляю ворнинги где int сравнивается с unsigned int. Но не удержаляся после подобнойго кода (благо дело ворнинг показал)
Код
/* Prints data to the serial port as human-readable ASCII text followed
* by a carriage retrun character '\r' and a newline character '\n' */
void SerialPi::println(float f, int precission){
    const char *str1="%.";
    char * str2;
    char * str3;
    char * message;
    sprintf(str2,"%df",precission);             //ошибка
    asprintf(&str3,"%s%s",str1,str2);               //утечка памяти
    sprintf(message,str3,f);                     //ошибка

    const char *newline="\r\n";
    char * msg = NULL;
    asprintf(&msg,"%s%s",message,newline);              //утечка памяти
    unistd::write(sd,msg,strlen(msg));
}

Всё это великолепие есть тут
автор проекта какой-то индус CongDuc Pham
автор этого кода, судя по коментам в файле arduPi_pi2.cpp некая Libelium Comunicaciones Distribuidas

на сайте Libelium чего только нет. И для автомобилей что-то делают, и для сетей, и для МЕДИЦИНЫ!!! И такой говнокод пишут. УЖАС!!!

Весь arduPi_pi2.cpp исчерпан вызовами asprintf() и ни разу нет вызова free(). Конечно без free такой код будет работать, за каждый вызов будет утекать несколько байт памяти. Но сколько времени непрерывно проработает такой шлюз? неделю? Месяц? Год? Не удевляюсь, почему винда, после недели непрерывной работы начинает тормозить и съедает 8 Гб озу с закрытыми приложениями. А потом начинаются срачи на темы, типа "Почему до сих пор все сидят на древних языках вроде С и С++", и что с++ говноязык, а жава тру!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
juvf
сообщение Nov 7 2017, 13:38
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(iosifk @ Nov 7 2017, 14:11) *
Почему Вы считаете, что кто-то будет выкладывать полностью рабочий код "за просто так"?
Ну выкладывают же. linux, gcc, много опенсорса. Например, чтоб продвигать технологию и продавать железо. Но врятли авторы этого кода хотели увеличить объем продаж микросхем Лора.
А зачем выкладывать такой код? Хочешь заработать на коде - пиши закрытый код. Хочешь заработать на построении системы сбора данных - занимайся разработкой системы под ключ используя дешевые чипы и самописный рабочий код.
Не очень понятно, зачем такие статьи, если там умышленно предлагается использовать нерабочий код?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Nov 7 2017, 13:51
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(juvf @ Nov 7 2017, 15:38) *
умышленно предлагается использовать нерабочий код?

Вы пока не доказали, что код нерабочий.
Go to the top of the page
 
+Quote Post
juvf
сообщение Nov 7 2017, 13:53
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(AlexandrY @ Nov 7 2017, 18:51) *
Вы пока не доказали, что код нерабочий.

Это рабочий код чтоли?
Код
    sprintf(str2,"%df",precission);             //ошибка
    asprintf(&str3,"%s%s",str1,str2);               //утечка памяти
    sprintf(message,str3,f);                     //ошибка
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Nov 7 2017, 14:03
Сообщение #5


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(juvf @ Nov 7 2017, 15:53) *
Это рабочий код чтоли?
Код
    sprintf(str2,"%df",precission);             //ошибка
    asprintf(&str3,"%s%s",str1,str2);               //утечка памяти
    sprintf(message,str3,f);                     //ошибка

Это код ни о чем. Может быть макрос, может переопределение, может либа специальная.
Какие ваши доказательства? ©
Go to the top of the page
 
+Quote Post
juvf
сообщение Nov 7 2017, 14:36
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(AlexandrY @ Nov 7 2017, 19:03) *
Это код ни о чем. Может быть макрос, может переопределение, может либа специальная.
Какие ваши доказательства? ©

Доказательства ссылка на гитхаб. Нет там макрасов и переопределений, нет там специальных либ. sprintf и asprintf из состава stdio.h
gcc из коробки.

Цитата
в данном случае авторами могут быть .... школьники. Им дали "попробовать", вот они и выложили результат.
с этим соглашусь, вполне возможно это поделки школоты. Но врятли школота будет писать в сырцах

Цитата
/*
* Copyright © 2012 Libelium Comunicaciones Distribuidas S.L.
* http://www.libelium.com


Go to the top of the page
 
+Quote Post
iosifk
сообщение Nov 7 2017, 14:54
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(juvf @ Nov 7 2017, 17:36) *
с этим соглашусь, вполне возможно это поделки школоты. Но врятли школота будет писать в сырцах

Тут есть еще один фактор.
Первым через Ламанш перелетел Блерио.
https://ru.wikipedia.org/wiki/%D0%91%D0%BB%...%9B%D1%83%D0%B8
А второго никто не помнит.
Если есть ниша не рынке, то ее надо "засветить" и занять как можно раньше. Для этого годятся даже "полуфабрикаты". Так же, как и бесплатные Бета-версии продуктов. Вот купил я себе сетевой винчестр WD "белое облако". Один раз сдал в обмен железо, пару раз переустановил софт. И вот теперь работает нормально...
Ну а Либериум? Ну и что? Вот у нас в Питере "Метротек" и они набирают студентов и обучают их Верилогу и микроконтроллерам. Чтобы потом взять их на работу. Вполне возможно, что и у Либериума что-то похожее на это. Да, фирма получает "почти работающий код", который не жалко выложить. И под это получить первые контакты с клиентами и первые заказы. Будут заказы - будет и доработка кода до рабочего. Не будет заказов - займутся другим направлением.
А чисто по жизни... Не нравится, как пишут индусы? Ну так сами напишите статью - "как я разбирался с индусским кодом"...Или то, что считаете наиболее интересным. Если получится, то мы напечатаем. Сами же наши инженеры ленивые, потому и статей русскоязычных мало.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
juvf
сообщение Nov 7 2017, 15:12
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(iosifk @ Nov 7 2017, 19:54) *
Тут есть еще один фактор.
я вашу точку зрения понял. не соглашусь с ней. Можно написать демо-код и опубликовать результат. показать возможность этой системы. всё дёшево и сердито. Для непосвещённых это выглядит круто: на проводках скрестил малину с рфм95 и закинул в дропбокс за 15 баксов сделал шлюз, за 5 баксов конечное устройство. Даже сайт писать не нужно. С любой точки мира можно графики температуры смотреть. Если кому-то это нужно будет - будут заказы.
но писать такое и публиковать:
Код
     char * str2;
    sprintf(str2,"%df",precission);
эээээ.... ну хочешь продать себя как программиста - покажи результат, результат достаточно крутой. Хочешь продать систему - покажи результат. Ну такую лажу в сырцах зачем публиковать? Чтоб работодатель посмотрел исходник и оценил тебя как говнопрограммиста?

Цитата
Первым через Ламанш перелетел Блерио.
А второго никто не помнит.
не аргумент. первым (мс-)дос написал Тимом Патерсоном. Его ни кто не помнит. Зато Бил Гейтса и MS-DOS все знают.
Цитата
MS-DOS является переименованной версией 86-DOS, написанной Тимом Патерсоном
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- juvf   Индусский код   Nov 7 2017, 12:05
- - iosifk   Цитата(juvf @ Nov 7 2017, 15:05) Вброс .....   Nov 7 2017, 13:11
- - AlexandrY   Цитата(juvf @ Nov 7 2017, 14:05) Всё это ...   Nov 7 2017, 13:37
|- - Эдди   Цитата(AlexandrY @ Nov 7 2017, 16:37) Для...   Nov 7 2017, 20:10
|- - mantech   Цитата(Эдди @ Nov 7 2017, 23:10) К сожале...   Nov 8 2017, 17:46
||- - iosifk   Цитата(juvf @ Nov 7 2017, 18:12) я вашу т...   Nov 7 2017, 15:24
|- - iosifk   Цитата(juvf @ Nov 7 2017, 16:38) Ну выкла...   Nov 7 2017, 14:09
- - kolobok0   Цитата(juvf @ Nov 7 2017, 15:05) Вброс .....   Nov 7 2017, 18:24
- - x893   CongDuc Pham может он и индус, но работает во Фран...   Nov 7 2017, 20:27
- - juvf   ЦитатаНасчет printf: как по мне, так использование...   Nov 9 2017, 04:23
- - Эдди   Ой, про абдуринщиков вообще не надо. У них из 10 ...   Nov 9 2017, 05:35


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 02:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01473 секунд с 7
ELECTRONIX ©2004-2016