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

Насколько плохо написан код? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Реализовать класс "Очередь" http://www.cyberforum.ru/cpp-beginners/thread1817825.html
Помогите разобраться при создании очереди чисел все просто и понятно, к примеру есть поле value туда я помещаю числа и оттуда могу их их взять: head = new element ; tail = head; head->value = x; head->adr=0; size = 1;
C++ Реализовать поиск слова в текстовом файле Необходимо создать консольное приложение, которое по заданному пользователем слову будет обращаться в файл txt с текстом и искать заданное слово, при нахождении такого слова вывести об этом сообщение, если нет то нет, слово должно искаться с учетом регистров, даже если оно в файле будет забориком написано, как можно проще, я даун в программировании,пока что, помогите плиз http://www.cyberforum.ru/cpp-beginners/thread1817812.html
В считывание с файла возникает ошибка C++
Так случилось, что я сменил версию visual studio и работающая программа перестала нормально работать (возникает точка остановки). #include "stdafx.h" #include <iostream> #include <conio.h> #include <time.h> #include <cmath> #include <fstream> #include <algorithm> using namespace std;
Вывод пирамиды чисел в консоли C++
Подскажите как реализовать вывод вот такой пирамиды чисел: ___1___ __121__ _12321_ 1234321 ....
C++ Выбрать вариант не имеющий ошибки и к каждому написать почему этот вариант правильный/неправильный http://www.cyberforum.ru/cpp-beginners/thread1817794.html
Прошу помогите, я плохо понимаю c++, да и простите если не в той теме, в общем, дали задание: Выбрать вариант не имеющий ошибки и к каждому написать почему этот вариант правильный/неправильный. (а) if (num == 10) else num = 0; (c)
C++ Вывести на консоль подстроку, ограниченную заданными символами есть строка, которая выглядит так: "admin::::Владислав,Павленко: pavlenko2k16" как вывести на экран имя, которое находится между "::::" и ","? Добавлено через 31 минуту сделал делив текст string str = database;//ïðèñâàèâàåì string separ(","); //ðàçäåëèòåëü string::size_type pos = str.find(",");//èùåì ïîëîæåíèå ðàçäåëèòåëÿ string first = str.substr(0, pos);//äî ðàçäåëèòåëÿ ... подробнее

Показать сообщение отдельно
gru74ik
Модератор
 Аватар для gru74ik
3510 / 1519 / 181
Регистрация: 20.02.2013
Сообщений: 4,381
Записей в блоге: 21
03.10.2016, 08:06     Насколько плохо написан код?

Не по теме:


_stanislav, у него своеобразный стиль, конечно. И к нему даже можно было бы привыкнуть. Но. Как всегда имеется но:

Цитата Сообщение от DrOffset Посмотреть сообщение
Самый главный недостаток, для которого не сработает позиция "о вкусах не спорят" - это полное отсутствие diff-friendly у такого форматирования. Во всех конторах используют системы контроля версий, и иногда приходится сводить изменения разных разработчиков. Так вот у такого форматирования зависимость символов не только горизонтальная, как обычно, но и вертикальная. Если у тебя три функции идут друг под другом, то они выравнены по началу своего имени, и если в результате рефакторинга добавилась функция с более длинным возвращаемым значением, то ты вынужден будешь сдвинуть все вышестоящие функции, чтобы сохранить форматирование. В итоге при просмотре diff у тебя получится изменений больше, чем реально было необходимо. И человек, который занимается сведением веток, я тебе клянусь, будет просто в ярости от такого.
Так что лучше отвыкать от этого пораньше.
Добавлено через 1 час 8 минут
_stanislav, кстати, его антиподом можно было бы назвать стиль коллеги _Ivana.

Пример #1

Цитата Сообщение от _Ivana Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
void l(int i, char c) {while (i-->0) cout<<c;}
 
int main() {
    setlocale(LC_ALL, "rus");
    char ch; int height = 0; bool q = 0;
 
    cout << "Введите символ: "; cin >> ch;
    cout << "Введите высоту треугольника: "; cin >> height;
    cout << "Заполненный или пустой? (1, 0) "; cin >> q;
    
    l(height-1, ' '); cout << ch << '\n';
    for (int i = 1; i < height-1; i++) {
        l(height-i-1,  ' '); cout << ch;
        l(2*i-1, q ? ch : ' '); cout << ch << '\n';
    }
    l(2*height-1, ch); cout << '\n';
}

Пример #2

Цитата Сообщение от _Ivana Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
const int n=6;
int m[n];
 
void f(int k) {
    if (k==n) {for (int i=0; i<n; i++) cout<<m[i]<<" "; cout<<"\n";}
    for (int i=1; i<=n; i++) {
        bool c=false; for (int j=0; j<k; j++) if(m[j]==i) {c=true; break;} if (c) continue;
        m[k]=i; f(k+1);
    }
}
int main() {f(0);}


Характерные недочёты:
  • несколько операторов (statements) на одной строке
  • слепленные в кучу операции, операторы и скобки

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