Форум программистов, компьютерный форум CyberForum.ru

Сказали некрасиво пишу - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.98
Demelurg
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 28
12.10.2013, 11:08     Сказали некрасиво пишу #1
изучаю с++ почти 2 месяц , пишу програму она работает но препод говорит что иногда не красиво пишу ((( пишу так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class Time
{
private:
    int hour;
    int minute;
    int second;
    int tmp_sec;
    int tmp_min;
public:
    Time():hour(0),minute(0),second(0) 
    {}
    Time(int h , int m , int s):hour(h),minute(m),second(s)
    {}
    void Out_put()const
    {
        cout<<setw(3)<<" Time = "<<setw(3)<<hour<<" : "
            <<setw(3)<<minute<<" : "<<second<<endl;
    }
 
    Time sum_Time(Time);
};
 
Time Time::sum_Time(Time other_time)
   {
       Time tmp;
       tmp_sec = 60;
       tmp_min = 60;
 
       tmp.hour = hour + other_time.hour ;
 
       tmp.second = second + other_time.second ;
       tmp.minute = minute + other_time.minute ;
        
           if ( tmp.second >= 60 )
               {
                   tmp_sec *= tmp.second / 60 ;
                   tmp.minute += tmp_sec / 60 ;
                   tmp.second -= tmp_sec ;
               }
 
               if ( tmp.minute >= 60 )
                   {
                       tmp_min *= tmp.minute / 60 ;
                       tmp.hour += tmp_min / 60 ;
                       tmp.minute -= tmp_min ;
                   }
      return tmp;
   }
   
int main()
{
    Time first_Time(22,155,177);
    Time second_Time(12,39,89);
 
    first_Time.Out_put();
    second_Time.Out_put();
 
    cout<<endl<<endl<<" You Three = ";
    Time three_Time = first_Time.sum_Time(second_Time);
    three_Time.Out_put();
 
    cout<<endl<<endl;
 
    return 0;
}
не красиво потомучто не подписую что делает та или иная функция в коментариях ???
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 21:48     Сказали некрасиво пишу #81
Роберт Мартин. "Чистый код".
Миниатюры
Сказали некрасиво пишу  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 21:51     Сказали некрасиво пишу #82
Цитата Сообщение от alsav22 Посмотреть сообщение
...
Тут опыт подсказывает что так удобнее. Что такое книга одного человека? И откуда там такие безосновательные утверждения?
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 21:52     Сказали некрасиво пишу #83
alsav22, сдается мне это какая-то Java (или C#).

Не по теме:

Стало быть, неуместно

Убежденный
Системный программист
 Аватар для Убежденный
14453 / 6437 / 1017
Регистрация: 02.05.2013
Сообщений: 10,676
Завершенные тесты: 1
12.10.2013, 21:53     Сказали некрасиво пишу #84
Предпочитаю писать m_Description вместо this.Description.
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 21:54     Сказали некрасиво пишу #85
alsav22, и кстати, я ровно об этом же говорил ранее про IDE.

Добавлено через 1 минуту
Цитата Сообщение от Убежденный Посмотреть сообщение
Предпочитаю писать m_Description вместо this.Description.
Зачем вообще this? кроме как, если с аргументом не совпадает.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 21:55     Сказали некрасиво пишу #86
Но ведь не все пишут в IDE, и не у всех работает подсветка. И только не говорите что все профессионалы пишут в IDE ...
Убежденный
Системный программист
 Аватар для Убежденный
14453 / 6437 / 1017
Регистрация: 02.05.2013
Сообщений: 10,676
Завершенные тесты: 1
12.10.2013, 21:58     Сказали некрасиво пишу #87
Цитата Сообщение от Tulosba Посмотреть сообщение
Зачем вообще this? кроме как, если с аргументом не совпадает.
Это был "наш ответ" на пример, приведенный alsav22.
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 22:02     Сказали некрасиво пишу #88
Цитата Сообщение от castaway Посмотреть сообщение
Но ведь не все пишут в IDE, и не у всех работает подсветка.
Да у кого-то и моники наверное до сих пор монохромные. Когда вокруг множество возможностей использовать (бесплатные и не очень) редакторы с подсветкой синтаксиса и IDE, продолжать писать в чем-то менее функциональном, довольно странно. Имеется в виду на регулярной основе, а не в какие-то редкие моменты деятельности.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 22:02     Сказали некрасиво пишу #89
Стив Макконнелл. "Совершенный код".
Миниатюры
Сказали некрасиво пишу  
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 22:03     Сказали некрасиво пишу #90
Цитата Сообщение от Убежденный Посмотреть сообщение
Это был "наш ответ" на пример, приведенный alsav22.
так ведь и m_ не нужна.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 22:08     Сказали некрасиво пишу #91
Цитата Сообщение от Tulosba Посмотреть сообщение
Да у кого-то и моники наверное до сих пор монохромные. Когда вокруг множество возможностей использовать (бесплатные и не очень) редакторы с подсветкой синтаксиса и IDE, продолжать писать в чем-то менее функциональном, довольно странно. Имеется в виду на регулярной основе, а не в какие-то редкие моменты деятельности.
Вы, видимо, никогда ничем серьезным не занимались.. Отняв у вас IDE вы останетесь без рук. Почему вы решили что IDE - какой-то очень большой прогресс, которым обязательно надо пользоваться?
Я вообще считаю наоборот, если программист не может найти ошибку без подсветки IDE, то это плохой программист.
Многие люди пользуются обычными текстовыми редакторами и компилируют свои программы через Makefile-ы, и у меня язык не повернется назвать их устаревшими или новичками, скорее наоборот.
Цитата Сообщение от Tulosba Посмотреть сообщение
так ведь и m_ не нужна.
Вы видимо так и не поняли о чем идет речь в этой теме...
ct0r
C++/Haskell
 Аватар для ct0r
1559 / 578 / 39
Регистрация: 19.08.2012
Сообщений: 1,194
Завершенные тесты: 1
12.10.2013, 22:12     Сказали некрасиво пишу #92
Цитата Сообщение от Tulosba Посмотреть сообщение
Зачем вообще this? кроме как, если с аргументом не совпадает.
Иногда без него никак. Но в том случае уже пофиг как переменная называется, поэтому к теме не относится.
Avazart
Нарушитель
6954 / 5192 / 256
Регистрация: 10.12.2010
Сообщений: 22,768
Записей в блоге: 17
12.10.2013, 22:24     Сказали некрасиво пишу #93
Цитата Сообщение от alsav22 Посмотреть сообщение
Роберт Мартин. "Чистый код".
Фиговый пример на мой взгляд, названия переменных должно само за себя говорить m_dst ни о чем него говорит
А комментарии стоит использовать только что бы избежать для хардкорных названий.

Что качается обращения this.* то его кажется не применишь в конструкторе как у ТС, типа

Добавлено через 6 минут
C++
1
2
3
4
5
6
Time(int hour , int minute , int second):
             this.hour(hour),
             this.minute(minute),
             this.second(second)
{
}
Добавлено через 6 минут
Мм... this не нужен, проверил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Time
{
private:
    int hour;
    int minute;
    int second;
// ...
};
 
Time(int hour , int minute , int second):
             hour(hour),
             minute(minute),
             second(second)
{
}
Но к такой записи нужно привыкнуть ...
ct0r
C++/Haskell
 Аватар для ct0r
1559 / 578 / 39
Регистрация: 19.08.2012
Сообщений: 1,194
Завершенные тесты: 1
12.10.2013, 22:37     Сказали некрасиво пишу #94
Avazart
мы это уже выяснили на 3ей странице)

Цитата Сообщение от ct0r Посмотреть сообщение
Time(int hour, int minute, int second): hour(hour), minute(minute), second(second)
В стандарте такая запись вполне определена и всегда работает.
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.10.2013, 23:00     Сказали некрасиво пишу #95
Цитата Сообщение от Tulosba Посмотреть сообщение
Не очень понятно. А как быть с inline методами? Инлайнишь один - инлайнить и все остальное в классе?
inline выносится в отдельный файл *.inl и инклудится в хедер

Добавлено через 56 секунд
Цитата Сообщение от castaway Посмотреть сообщение
Бессмысленно. Тогда уж заместо class писать struct и не писать вначале public:
Бессмысленно при условии что в классе одно поле
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 23:03     Сказали некрасиво пишу #96
Цитата Сообщение от Jupiter Посмотреть сообщение
inline выносится в отдельный файл *.inl и инклудится в хедер
Зачем инклудить лишний файл, если можно описать в этом же заголовочном?
Цитата Сообщение от Jupiter Посмотреть сообщение
Бессмысленно при условии что в классе одно поле
Если одно (или несколько) поле (полей) с доступом public то не безсмысленно.
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.10.2013, 23:03     Сказали некрасиво пишу #97
Цитата Сообщение от Убежденный Посмотреть сообщение
Предпочитаю писать m_Description вместо this.Description.
предпочитаю mDescription, подчеркивание требует синхронизации

Цитата Сообщение от castaway Посмотреть сообщение
Зачем инклудить лишний файл, если можно описать в этом же заголовочном?
затем что хедер это интерфейс, а не реализация
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 23:09     Сказали некрасиво пишу #98
Цитата Сообщение от Jupiter Посмотреть сообщение
затем что хедер это интерфейс, а не реализация
Это утверждение - стереотип.
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.10.2013, 23:12     Сказали некрасиво пишу #99
Цитата Сообщение от castaway Посмотреть сообщение
Если одно (или несколько) поле (полей) с доступом public то не безсмысленно.
чВ?
C++
1
2
3
4
5
6
class Foo
{
    FooPrivate* mPimpl;
public:
    ...
};
а теперь если убрать FooPrivate и вывалить все кишки в начале Foo

Цитата Сообщение от castaway Посмотреть сообщение
Это стереотип.
это best practice от парней из Купертино и не только
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2013, 23:16     Сказали некрасиво пишу
Еще ссылки по теме:

Сказали сделать такое C++
C++ Пишу примитивный никому не нужный контейнер
Ядрышко ОСи пишу C++
C++ Пишу велосипед (shared_ptr)
Пишу итератор произвольного доступа C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 23:16     Сказали некрасиво пишу #100
Цитата Сообщение от Jupiter Посмотреть сообщение
чВ?
C++
1
2
3
4
5
6
7
struct color {
    uint8_t a;
    uint8_t r;
    uint8_t g;
    uint8_t b;
    uint32_t get_argb32() const { return (uint32_t)a << 24 | (uint32_t)r << 16 | (uint32_t)g << 8 | (uint32_t)b; }
};
По-твоему через класс это будет выглядеть лучше?
Цитата Сообщение от Jupiter Посмотреть сообщение
это best practice от парней из Купертино и не только
Кто все эти люди?
Yandex
Объявления
12.10.2013, 23:16     Сказали некрасиво пишу
Ответ Создать тему
Опции темы

Текущее время: 09:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru