Правильный стиль программирования, скорость изменений (C ++) - PullRequest
0 голосов
/ 05 мая 2020

Я сам учил себя C ++ и тоже хорошо в нем разбирался.

Я работал над своим собственным ИИ - безумным проектом, связанным с переездом в страну без знания языка. Погружение многому меня научило, и наличие большой цели с сотнями микрозаданий подтолкнуло меня вперед.

НО ... У меня ОЧЕНЬ много вопросов. Я надеюсь, что на некоторые из этих вопросов участники этого сообщества смогут ответить.

C ++ 2 года go выглядит иначе (IMO), чем сейчас. Я поднялся на воздух, чтобы изучить новые принципы и концепции, и обнаружил, что основной код, который я изучил, кажется другим.

#define pragma once является примером. Это новое? Или я полностью пропустил это ...

Следующее любопытство:

Заголовочные файлы: Это нормально или правильная практика - включать классы, которые используются совместно двумя другими классы в заголовочном файле? Например:

#include <iostream>
using namespace std;

#ifndef __SerialPort_h__
#define __SerialPort_h__
extern char* portInput;
#endif

#pragma once

#define ARDUINO_WAIT_TIME 1000
#define MAX_DATA_LENGTH 255

#include <windows.h>
#include <iostream>


class SerialPort
{
private:
    HANDLE handler;
    bool connected;
    COMSTAT status;
    DWORD errors;
public:
    explicit SerialPort(const char *portName);
    ~SerialPort();

   // int readSerialPort(const char *buffer, unsigned int buf_size);
    bool writeSerialPort(const char *buffer, unsigned int buf_size);
    bool isConnected();
    void closeSerial();
};

Вышеупомянутый класс «SerialPort» определен в «SerialPort.h» (не тот самый известный, который все используют), и я пытаюсь понять, является ли это стандартной практикой или имеет автора этого кода заблудился?

Какая универсальная и лучшая практика для следующего кода. И я знаю, что по этому поводу есть ответы, но на многих веб-сайтах сейчас смешанная информация:

Cout

cplusplus.com описывает стандарты cout быть следующим образом:

cout << "main function\n";

Снова и снова в чужом коде:

std::cout << "main function\n";

Объявления функций

Прошлый год, правильный способ объявления функций выглядел так:

void someFunction () { some code } Теперь я вижу этот формат повсюду:

void someFunction::someFunction() { some code }

Итак, моя цель to gr asp достаточно кода, чтобы получить работу по программированию. Но я не могу двигаться в позитивном направлении к этой цели, не имея твердой asp по стандартизации, и я пробовал читать iso-книги, но когда я asp разрабатывал каждую концепцию в них, я буду на 4 года старше и Будет опубликовано 3 новых ISO-документа.

Надежный ресурс?

Так есть ли надежный ресурс, пользующийся большим уважением в сообществе C ++ для получения надежных , применимые в отрасли и стандартизированные определения, которые можно применить в современном коде C ++? И если так, может ли кто-нибудь быть настолько любезным, чтобы указать мне в этом направлении? Специально для библиотек ПК / linux.

У меня нет друзей-разработчиков / программистов, и, честно говоря, приятно, когда человек предлагает достойный ответ, а не «надеется» на какой-либо ресурс, который я найду, даст многообещающие результаты.

Так что спасибо за любую помощь, советы и ответы, которые вы предлагаете. Я знаю, что твое время ценно.

Ура, оставайтесь в безопасности во время этой вспышки.

Эндрю

...