Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
9 / 4 / 0
Регистрация: 12.05.2015
Сообщений: 48
1

Как понять нормальный у тебя код или нет?

16.02.2016, 11:22. Показов 2152. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сейчас в процессе изучения C++ столкнулась с тем, что подсматриваю в интернете кто и как выполняет те или иные задачи. Еще ни разу не было такого, чтобы наткнулась на полностью подходящий код. Всегда выкрадываешь только частицу из чужого кода.
Поневоле начинают закрадываться мысли, а правильный ли я пишу код? Как определить правильность кода? Да, код работает, но правильный ли он?
Еще больше начинает закрадываться мыслей в направлении, а правильный код у других программистов. Учитывая тот момент, что наталкиваешься на неподходящие варианты кода. Порой явно какой-то неправильный.
Мир кодеров не идеален?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2016, 11:22
Ответы с готовыми решениями:

Надо понять правильно работает код или нет. И работает ли он вообще
Он должен вычислить сумму с точностью эпсилон #include <iostream> using namespace std; ...

Как понять - Blu-ray привод или нет?
Всем привет. Как понять блу рей привод или нет. matshita dvd-ram uj8e1

Как понять это бан или нет? и почему?
Есть у меня блог filatoff.org. Пишу временами и все сам, ни какого сдиралова. По началу...

Как по матрице смежности понять изоморфны графы или нет
Как по матрице смежности понять изоморфны графы или нет?

26
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
16.02.2016, 11:28 2
Лучший ответ Сообщение было отмечено IrinaNovikova как решение

Решение

Цитата Сообщение от IrinaNovikova Посмотреть сообщение
Мир кодеров не идеален?
Позволил себе вычеркнуть лишнее слово.
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
Как определить правильность кода?
Для этого существуют тесты и тестировщики.
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
Да, код работает, но правильный ли он?
Кликните здесь для просмотра всего текста
Сидит программист глубоко в отладке.
Подходит сынишка:
— Папа, почему солнышко каждый день встает на востоке, а садится на западе?
— Ты это проверял?
— Проверял.
— Хорошо проверял?
— Хорошо.
— Работает?
— Работает.
— Каждый день работает?
— Да, каждый день.
— Тогда ради бога, сынок, ничего не трогай, ничего не меняй!!!
1
zss
16.02.2016, 11:45
  #3

Не по теме:

У меня жена тоже Ирина Новикова, но она с компьютером на Вы.....

0
50 / 49 / 10
Регистрация: 24.01.2010
Сообщений: 225
16.02.2016, 12:26 4
Лучший ответ Сообщение было отмечено IrinaNovikova как решение

Решение

Критерием правильности написания кода является:
1) наименьшее кол-во строк кода удовлетворяющих критерию КГБ (КачествоГрафикБюджет)
2) применённый инструментарий соответствует документальному описанию этого инструментария
3) поставленная задача решается в полном объёме

Отсюда видно, что 3 и 2 пункт - это практически константа при прочих равных.
Пункт первый сильно зависит от опыта программиста.

(круглый)
1
GbaLog-
16.02.2016, 12:36
  #5

Не по теме:

zss, Не обольщайтесь, это же интернет, это может оказаться и не Ирина Новикова, а какой-нибудь Вася Пупкин. Не в обиду ТСу сказано.
:)

0
9 / 4 / 0
Регистрация: 12.05.2015
Сообщений: 48
16.02.2016, 12:53  [ТС] 6
Я женского пола. Кстати встречаются и парни с компьютером на ВЫ.
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
16.02.2016, 12:55 7
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
Я женского пола.
Ну этого мы никогда не узнаем. Хотя нам и не надо.
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
Кстати встречаются и парни с компьютером на ВЫ.
Таких очень много!
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
16.02.2016, 12:59 8
IrinaNovikova, вам нужно имхо устаканить терминологию. Есть ваша конкретная задача с конкретно вашими условиями, а есть код, который решает задачу в других условиях, что собственно с формальной точки зрения делает ее другой относительно вашей. Таким образом, с точки зрения вашей задачи правильным будет называться тот код, который решает вашу задачу в ваших условиях, выдавая верный результат для любых детерминированных наборов входных данных. Начинаете чувствовать, в чем суть?

Не по теме:

З.Ы. прошу заранее прощения за такой внезапный мозговой наворот, обычно стараюсь так не изъясняться.

0
9 / 4 / 0
Регистрация: 12.05.2015
Сообщений: 48
16.02.2016, 13:16  [ТС] 9
Я уже это давно поняла. Вот по этому у меня и возникают мысли, а правильный ли я пишу код, т.к. я еще только в процессе изучения. Задачи в интернете ищу идентичные тем, что нам даются на курсе. Но код там другой пишут. В общем я уже поняла, что в кодировании все варианты хороши.
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,130
Записей в блоге: 2
16.02.2016, 13:18 10
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
В общем я уже поняла, что в кодировании все варианты хороши.
А это как раз неправильно
1
50 / 49 / 10
Регистрация: 24.01.2010
Сообщений: 225
16.02.2016, 13:20 11
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
в кодировании все варианты хороши
лучше по другому...

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

(круглый)
0
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
16.02.2016, 13:29 12
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
Как определить правильность кода? Да, код работает, но правильный ли он?
Если решает поставленную задачу, значит правильный.

По остальным аспектам читать книги:
Стив Макконнелл "Совершенный код".
Роберт Мартин "Чистый код".
Роберт Мартин "Идеальный программист".
1
9 / 4 / 0
Регистрация: 12.05.2015
Сообщений: 48
16.02.2016, 13:41  [ТС] 13
Да, надо книги почитать, чтобы уже как-то прийти к правильному решению. Может я еще глазами новичка не все понимаю.
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
16.02.2016, 13:51 14
Цитата Сообщение от gru74ik Посмотреть сообщение
Если решает поставленную задачу, значит правильный.
Вам же ответили в 10 посте, что нет. ) "Скомпилировалось? Всё не трогаем!" - не означает, что правильное решение, хоть и решает проблему при помощью скотча)
0
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
16.02.2016, 14:02 15
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Вам же ответили в 10 посте, что нет.
Там немного про другое речь шла. Если код компилируется, это не значит, что он решает поставленную задачу.
0
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
16.02.2016, 14:03 16
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
у меня и возникают мысли, а правильный ли я пишу код
Вот тут как раз и закрадываются сомнения, что вы программист в душе. Обычно каждый программист уверен, что он эйнштейн, как минимум, а его кракозябры - это гениальный код и есть!
А так-то
Цитата Сообщение от HighPredator Посмотреть сообщение
вам нужно имхо устаканить терминологию.
Что такое
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
правильность кода
по-вашему?
0
9 / 4 / 0
Регистрация: 12.05.2015
Сообщений: 48
16.02.2016, 14:15  [ТС] 17
Цитата Сообщение от Mr.X Посмотреть сообщение
по-вашему?
Ну знаете вот в бухгалтерии все схемы работы отлажены. Если у компании по результатам квартала остается прибыль, то ее можно перевести только инвестору или в резервный фонд, но никак не списать с баланса и успокоится. В программировании можно решить задачу к примеру добавив одну переменную, а можно добавить четыре переменные и решить такую же задачу. Как вот понять правильно ты сделал или нет?
Я вот когда смотрю чужие коды, то мне кажется, что у других неправильно. Потом у меня возникают мысли, что ведь я начинающий в этом деле и как я могу судить других на правильность кода?
0
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
16.02.2016, 14:18 18
rikimaru2013, у кода масса характеристик. Правильность - лишь одна из многих. Перечислять их все, значит переписывать "Совершенный код" заново:

Характеристики качества ПО
Цитата Сообщение от Стив Макконнелл
20.1. Характеристики качества ПО

Качество ПО имеет внешние и внутренние характеристики. К внешним характеристикам относятся свойства, которые осознает пользователь программы. Они описаны ниже.
  • Корректность — отсутствие/наличие дефектов в спецификации, проекте и реализации системы.
  • Практичность — легкость изучения и использования системы.
  • Эффективность — степень использования системных ресурсов. Эта характеристика учитывает такие факторы, как быстродействие приложения и требуемый им объем памяти.
  • Надежность — способность системы выполнять необходимые функции в предопределенных условиях; средний интервал между отказами.
  • Целостность — способность системы предотвращать неавторизованный или некорректный доступ к своим программам и данным. Идея целостности подразумевает ограничение доступа к системе для неавторизованных пользователей, а также обеспечение правильности доступа к данным, т. е. одновременное изменение взаимосвязанных данных, хранение только допустимых значений и т. д.
  • Адаптируемость — возможность использования системы без ее изменения в тех областях или средах, на которые она не была ориентирована непосредственно.
  • Правильность — степень безошибочности системы, особенно в отношении вывода количественных данных. Правильность характеризует выполнение системой ее функций, а не то, создана ли она корректно. Этим правильность отличается от корректности.
  • Живучесть — способность системы продолжать работу при вводе недопустимых данных или в напряженных условиях.

Некоторые из этих характеристик перекрываются, однако каждая имеет свои отличительные черты, которые в одних случаях выражены сильнее, а в других слабее.
Внешние характеристики — единственная категория свойств ПО, которая волнует пользователей. Пользователей беспокоит легкость работы с ПО, а не легкость его изменения. Их заботит корректность ПО, а не удобочитаемость или структкрированность кода.
Программистов волнуют и внешние характеристики ПО, и внутренние. Раз уж эта книга посвящена программированию, основное внимание в ней уделяется внутренним характеристикам качества, которые перечислены ниже.
  • Удобство сопровождения — легкость изменения программной системы с целью реализации дополнительных возможностей, повышения быстродействия, исправления дефектов и т. д.
  • Гибкость — возможный масштаб изменения системы с целью использования ее в тех областях или средах, на которые она не была непосредственно ориентирована.
  • Портируемость — легкость изменения системы с целью использования в средах, на которые она не была ориентирована непосредственно.
  • Возможность повторного использования — масштабность и легкость использования частей системы в других системах.
  • Удобочитаемость — легкость чтения и понимания исходного кода системы, особенно на детальном уровне отдельных операторов.
  • Тестируемость — возможная степень выполнения блочного и системного тестирования программы и проверки ее соответствия требованиям.


Добавлено через 58 секунд
Говорю же, проще взять и в книжке прочитать.
2
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
16.02.2016, 14:26 19
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
можно решить задачу к примеру добавив одну переменную, а можно добавить четыре переменные и решить такую же задачу.
Это называется эффективность. Можно и на Луну через Марс лететь.
Цитата Сообщение от IrinaNovikova Посмотреть сообщение
Как вот понять правильно ты сделал или нет?
Не бывает единственно правильного варианта решения.
Вот лепят два скульптора бюст. Один слепил, и другой. Один потратил день и 100кг глины, а второй - 10 дней, и 10кг. У кого правильный?
0
Kastaneda
16.02.2016, 14:36     Как понять нормальный у тебя код или нет?
  #20

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
У кого правильный?
у того, кому заказчик работу оплатил :D

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2016, 14:36

Как понять правильно сверстана форма под мобильники или нет?
Здравствуйте. Столкнулся с тем, что если на странице нажать на кнопку Быстрая покупка под фото...

Как понять, ограничена (сверху/снизу/в целом) последовательность или нет?
Как понять ограничена(сверху/снизу/в целом) последовательность или нет? Не понимаю, как определить...

DVD-RW Asus DRW-24B1S1T SATA Black RTL. Нормальный привод или нет?
Добрый день. Нужно купить DVD-Rom, т.к. старый Nec совсем не пишет и не читает диски. Выбрал:...

Понять, разноцветное изображение или нет
вообщем. нужно понять разноцветное изображение или нет (понятие разноцветное может быть любым, я...

Как определить цветовой код это или нет?
Мне надо,чтобы пользователь писал какой-то текст и если текст имеет формат #FFFFF,то функция...

понять есть ли на изображении цифры или нет
Добрый день, есть изображение, задача определить есть ли на нем цифры или нет. вот изображения, на...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru