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

Что Вы можете сказать о индусе по его коду - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Компилатор, ошибка "expected primary-expression before "int" " http://www.cyberforum.ru/cpp-beginners/thread626260.html
код #include <iostream.h> using namespace std; #include <windows.h> int show_big_and_litle(int a, int b, int c) { int small=a; int big=a;
C++ Можно ли так вызвать метод? Всем доброго времени суток! Вот такая ситуация. class A { void fun(); }; class B { http://www.cyberforum.ru/cpp-beginners/thread626203.html
Зажатие клавиши C++
Как сделать, что-бы, если зажата клавиша, то выполняется какое-то действие?
Обработка файла C++
Собственно есть текстовый файл со сложной внутренней структурой наподобие xml необходимо его обработать и на основе информации содержащейся в нем создать объекты. Так вот вопрос, как его обработать с наименьшими энергозатратами ? Ну то бишь быстрее и удобнее. Предполагаю 2 варианта, 1)обработка на лету, 2) загнать содержимое файла в одну строку и обрабатывать ее с помощью вспомогательной. Что...
C++ Запустить Opera http://www.cyberforum.ru/cpp-beginners/thread626150.html
всем привет! помогите с задачкой на с++. нужно считать число с *.txt файла, потом сравнить ее с другим числом, если условие верно, то запускается exe-ник, если не верно, то ничего не происходит. например, в блокноте число 5,она считывается,потом 5 сравнивается с числом 15, если условие верно , запускается C:\Program Files\Opera.ехе, если не верно условие - ничего не происходит. ...
C++ Нужно найти максимальные и минимальные числа в массиве, причём кол-во массивов задаётся пользователем #include <iostream.h> int main () { int a, n; cin>>n; for (int i=0; i<n;i++) cin >> a; for (i=0;i<n;i++) подробнее

Показать сообщение отдельно
tramp13
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 7
20.07.2012, 12:57  [ТС]     Что Вы можете сказать о индусе по его коду
Цитата Сообщение от fasked Посмотреть сообщение
tramp13, несколько рекомендаций.
  1. Не используйте using namespace. Со временем сами поймете "почему", сейчас просто не используйте.
  2. Я совершенно не могу понять предназначение структуры по ее имени "use". Для сущностей рекомендуется все таки использовать существительные в названиях, а не глаголы. Глаголы больше подойдут для функций и методов.
  3. Тоже самое об именах членов структур. "call_pa" - вместо того, чтобы писать комментарий к названию, лучше сразу дать члену нормальное имя. Если пакет бесплатных минут, то можно было бы попробовать, например, "free_minutes".
  4. Некоторые имена лучше просто не использовать, например имя free - функция стандартной библиотеки, у Вас это имя используется (25 строка). Т.е. могут возникнуть конфликты и, как следствие, трудно-понимаемые ошибки.
  5. Указатели это, конечно, хорошо. Но в C++ лучше использовать ссылки.
  6. Не инициализированные переменные (27 строка) согласно стандарту C++ это Undefined Behaviour (Неопределенное поведение). Стандарт языка не гарантирует корректности выполнения программы в таких случаях.
  7. Форматирование кода в целом не очень радует глаз. Старайтесь разделять логические участки кода пустыми строками.
  8. Комментарии "Заполнение" и "Вычисление" полностью бесполезны. Это и так видно по названию функций. Комментарии не должны дублировать код.
  9. Опять же по стилю. Если Вы выделяете фигурными скобками блок "if", то лучше всего выделить скобками блок "else". И наоборот.
  10. Отсутствуют проверки указателей в функциях на валидность. Всегда сравнивайте указатели с NULL.
  11. Строки 83-85 трудны для восприятия. Лучше их выделить в отдельную функцию.
  12. В этих же строках присутствуют т.н. "магические числа" 100 и 31. Что они означают догадаться сложно.
  13. Опять же в этих строках стоят бесполезные комментарии. Если разбить эти три строки на функции и дать говорящие имена, то необходимость в этих комментариях отпадет. Вообще старайтесь писать код так, чтобы его можно было понять без каких-либо комментариев.

    И еще одно чисто мое субъективное мнение. Я не очень ценю С. Прата как автора книг по программированию, поэтому советую присмотреться к другой литературе.
1.принято, посмотрим
2.хотел написать что-то вроде "используемое".буду знать.
3.хотелось одновременно совместить и короткое имя понятность
4.буду знать, не был знаком с этой функцией
5.а чем лучше? я вроде пока не знаком с ссылками..
6.float total; не это ли инициализация?или я понятия путаю
7.писалось это в блокноте, исправлюсь
8.да, я сам старался комменить буквально всё, благодарю
9.это уже тонкости, буду знать)
10.вот это для меня пока тема нетронутая, пока не дошел до этого в книжке
11.спасибо, просто не знал, насколько нужно дробить программу на функции, старался создавать поменьше переменных
12.насколько я понял, их лучше инициализировать в виде констант в начале программы?
13.очень ценное замечание
В целом очень информативный ответ, благодарю душевно)
Другие книги посмотрю, просто уже прочитал 300 страниц, жаль бросать

Добавлено через 2 минуты
Цитата Сообщение от fasked Посмотреть сообщение
Данный вопрос неоднократно поднимался на форуме. Можете воспользоваться поиском и почитать.

Однако, если Вы сможете ответить на вопрос "зачем нужны пространства имен", то сможете сразу найти отрицательные стороны использования "using namespace". Все просто: "using namespace" полностью убивает саму концепцию пространств имен.


И правильно сделает, даже если никогда так и не поймет



using std::cout; а такой вариант пойдет?

Добавлено через 23 минуты
Цитата Сообщение от Catstail Посмотреть сообщение
Не комплексуй! Код твой вполне хорош. Видно, что автору нравится программировать. Это самое главное. Не бывает так, чтобы нравилось то, к чему нет способностей. Удачи!
Буду стараться, благодарю)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru