Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.07.2016
Сообщений: 10
1

Как побороть невнимательность в работе программиста?

04.02.2018, 16:06. Показов 612. Ответов 13
Метки нет (Все метки)

Все привет! Я работаю программистом, и у меня такая проблема: мне дают задачу я ее реализую, отдаю, а потом тестировщики находят много мелких багов. Например, if написал, else забыл, или забыл учесть какой-нибудь пункт из ТЗ. Это такие мелочи, но очень неприятно, когда возвращают задачу. Знакомые предлагали два решения: писать тесты и рисовать блоксхемы. Это помогает, но сильно увеличивает время, которое я трачу на задачу. И еще на мелкие задачи, просто лень рисовать блоксхемы и писать подробные тесты. Кажется, что все и так понятно. Я проверяю только несколькими простыми.

Расскажите про ваш опыт, особенно если была такая же проблема и удалось ее побороть. Неужели вы каждый день рисуете блоксхемы и пишите тесты даже на мелкие задачи?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2018, 16:06
Ответы с готовыми решениями:

is not a member.. или просто невнимательность)
Вкратце, только начинаю изучать языки высокого уровня. Есть самый простенький конвертор валют: ...

Соотношение количества и качества в работе программиста
Есть такой давно интересующий вопрос, на который я получал множество разных ответов как от...

ST LINK v2 видит МК, но не шъёт (решено: невнимательность)
Пробовал из STM32 ST-LINK Utility (gui/cli) и из IAR. К программатору подключены выводы...

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

13
2051 / 1526 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
04.02.2018, 16:18 2
Цитата Сообщение от Alex_Y Посмотреть сообщение
Неужели вы каждый день рисуете блоксхемы и пишите тесты даже на мелкие задачи?
И даже системы визуальной отладки для задач связанных с геометрией и т.п.- т.е продвинутый дебаг-вывод. Блоксхемы и юнит тесты не использую принципиально.

Добавлено через 8 минут
Цитата Сообщение от Alex_Y Посмотреть сообщение
Например, if написал, else забыл,
Декомпозиция помогает очень хорошо. Т.е. цикломатическая сложность функции/метода не должна превышать 5. Тогда забыть что то нереально. Размер метода/функции не более 25 строк (когда появилась рекомендация текст функции должен влазить на экран размер ээкрана был как раз 25 строк).
Очень часто определение алгебры над сущностями предметной области помогает (перегрузка операторов). Код в разы коротче и читабельнее в результате и ошибки в базовых операциях допустить труднее.
К примеру вычислить нормальный вектор плоскости с пользованием класса вектор с перегруженными операторами можно вот таким выражением ((B-A)%(C-A)).Normlized(); что гораздо более читабельно чем простыня с вычитанием перемножением и нормализацией векторов из переменных не объединенных в классы.
0
502 bad gateway
Эксперт PHP
4578 / 3724 / 1557
Регистрация: 24.04.2014
Сообщений: 10,934
04.02.2018, 22:51 3
Цитата Сообщение от Alex_Y Посмотреть сообщение
писать тесты и рисовать блоксхемы. Это помогает, но сильно увеличивает время, которое я трачу на задачу
А то что тебе задачу возвращают и ты ее снова делаешь время не увеличивает??? Тест один раз написал, и потом в дальнейшем он принесет огромную пользу.
0
2 / 4 / 1
Регистрация: 08.12.2017
Сообщений: 18
04.02.2018, 23:46 4
Цитата Сообщение от Alex_Y Посмотреть сообщение
мне дают задачу я ее реализую, отдаю, а потом тестировщики находят много мелких багов.
юнит-тесты - наше все
0
4 / 4 / 2
Регистрация: 15.01.2018
Сообщений: 21
05.02.2018, 04:56 5
Научиться перепроверять себя самому, делать небольшой рефакторинг после завершения.
0
76 / 62 / 23
Регистрация: 11.07.2009
Сообщений: 730
05.02.2018, 06:50 6
Внимательность должна всё равно с опытом придти, вынужденно. Ну нельзя, думаю, не развить её, долгое время работая над чем-то не упрощающимся хотя бы.
А если хочется быстрее - то имеет смысл почитать более подробно про разные аварии, вызванные недоработками ПО, желательно, чем разрушительнее, тем лучше. Нам вот на лекциях рассказывали про трёх пятикурсников, из-за которых завод потерял ковш жидкой стали, вылитый посреди цеха. Должен был поехать дальше куда-то, но остановился на развилке, и почему-то решил что под ним всё, конечная. Ладно, что рабочие заранее цех покинули перед тестированием. Не суть, правда или нет, но иногда всплывает в памяти всё равно, и лишний раз да проверю код.
Менее жёсткий метод - как обычно, спец. учебники. Натаскать себя на задачи типа fizzbuzz, которые не на технологии разработки, а строго на алгоритмы и общее мышление.
0
2051 / 1526 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
05.02.2018, 14:39 7
Rayne, А еще лучше какую то железку покрутить небольшую. Реально (на уровне подсознания) что к чему в этом плане понимаешь ни тогда когда 10-гигаватный движок находящийся за пределами бункера в котором сидишь крутишь, а когда 5-киловатником управляешь, но стоящим на соседнем столе.

Добавлено через 6 часов 9 минут
Цитата Сообщение от Jewbacabra Посмотреть сообщение
ест один раз написал, и потом в дальнейшем он принесет огромную пользу.
Никакой пользы кроме вреда. Он не может показать что именно не работает. Опять же где брать проверочные данные для тестов и где гарантия что проверочные данные корректны? При этом при толковой декомпозиции юниттестить нечего.
0
502 bad gateway
Эксперт PHP
4578 / 3724 / 1557
Регистрация: 24.04.2014
Сообщений: 10,934
05.02.2018, 21:47 8
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Никакой пользы кроме вреда.
А люди то пишут тесты и не знают. Остальное даже коментировать не вижу смысла
0
2051 / 1526 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
05.02.2018, 21:57 9
Jewbacabra, Мало людей понимают что именно они делают.

Добавлено через 8 минут
Jewbacabra, Им а скорее даже не им а их менеджерам сказали что это панацея они и поверили. Границы применимости рассказать забыли. Вот и лепят куда не попадя.
0
190 / 89 / 33
Регистрация: 04.11.2013
Сообщений: 469
Записей в блоге: 4
07.02.2018, 06:06 10
S.T.A.L.K.E.R. сделаешь?
0
Эксперт .NET
8942 / 6255 / 1043
Регистрация: 21.01.2016
Сообщений: 23,694
07.02.2018, 06:36 11
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Мало людей понимают что именно они делают.
Это вы за всех говорите? По себе судите? Или на каком-то этапе своего жизненного пути успели вознестись над серой массой?
0
2051 / 1526 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
07.02.2018, 09:33 12
Цитата Сообщение от Usaga Посмотреть сообщение
Или на каком-то этапе своего жизненного пути успели вознестись над серой массой?
Пришлось воспарить.
0
190 / 89 / 33
Регистрация: 04.11.2013
Сообщений: 469
Записей в блоге: 4
07.02.2018, 09:36 13
Оно делается в голове.
0
Fulcrum_013
07.02.2018, 09:37     Как побороть невнимательность в работе программиста?
  #14

Не по теме:

Alexandr_1982,Next gen S.T.A.L.K.E.R? Занимаюсь вопросом.Как раз почти дорыл весь матан на физический движек.

0
07.02.2018, 09:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2018, 09:37
Привет! Вот еще темы с ответами:

раскажите как же побороть
В файле Excel, в столбик много номеров,как поставить между ними точку с запятой скопировав их в...

Как побороть событие OnKeyUp
Имеем: Edit1, Edit2, Button1, и нажатие VK_RETURN 1. при Edit1KeyPress - Edit2->SetFocus(); 2....

Как побороть зависания Excel' я?
Помогите советом, если это возможно:). Вообщем из 1С формируется отчет в Excel'е. Формируется он...

Как побороть такие дубли?
Доброго дня, есть сайт городской афиши - http://city-afisha.com/ на нем есть такой функционал:...

Как побороть массовый спам?
Есть один сайт. Конкурент. Борюсь с ним белыми методами. Как-то изучал кто ссылается на него,...

Множество редиректов как побороть
Всем здравствуйте. Прогнал свой сайт через gtmetrix.com и заметил огромное количество редиректов...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.