Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

State / State - Целый калькулятор - Fix Bugs

  • На этом уроке мы исправим ошибки,
    которые были допущены при реализации
    функций перехода между состояниями.

  • Дата отправки отчёта: 20 августа 2020 г.
  • Задание выполнено: за 1 день 2 час. 37 мин.
  • Чему научился: Исправлять обнаруденные ошибки.
    Если мы для проверки результатов берем для сравнения классический Windows Calculator,
    то имеются еще не совпадения. Например 2+3*4= 20 у нас, а у РС - 14 как и положено в маиематике.
  • Что было сложным: В данном уроке ярко показано, что в практике программирования часто возникают ситуации, когда исправление одной ошибки приводит к появлению другой иможет быть даже не одной.
    В этой связи В данном проекте неплохо бы добавить автоматическую систему тестирования.
  • Оценка видео-уроку:
Отчёт от 11589 за State / State - Целый калькулятор - Fix Bugs




Оцени работу

 
Сохранить страницу:

  • Отчёт оценивали:
    791Валерий Жданов+1   24765Anatoli+1   Посетитель+1   1232Фомичева Наталья+1   21877Aleksandr0   24987Анастасия0   11582Родион+1   17947Dmitry Sinitsin+1   28396Bemen0   10494Алексей В.+1   28410Alim0  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Что было мной выявлено при тестировании калькулятора: 1 - нужно сбрасывать значение второй переменной в методе StateOpers().opers() 2 - нужно произвести калькуляцию в начале метода StateSecond().opers() 3 - в методе calc() добавил проверку: "Делить на ноль нельзя!" 4 - метод calc() перенёс в класс Context(), так как он вызывается не только в StateResult() 5 - не нужно производить калькуляцию при вводе очередного числа в StateResult() 6 - не нужно производить калькуляцию при вводе операции в StateResult() 7 - нужно делать сброс при вводе числа в StateResult() 8 - оставить ситуацию без изменений, если ввести символ, который не поддерживается 9 - что бы не ввели, брать первый символ 10 - если набрать 2+= то должно увеличивать число само на себя (так работает калькулятор в windows 10) з.ы. Последний пункт реализовал после того как мне приснился этот вариант возможного бага. Так же реализовано за данный урок: У калькулятора и истории отличается размер шрифта. Размеры шрифта вынесены в константы. Размер шрифта зависит от размеров формы. Если история пуста, выводится надпись: "Пусто". Если размер истории превышает размеры формы, появляется скроллбар и история добавляется ниже. При добавлении новой строки в историю, скрол автоматом спускается в самый них и показывает последние записи истории.


Научился: Не все ошибки я смог найти самостоятельно. В предыдущих отчётах рассказывал какие ошибки нашел. 1. не обнулялся Y после второго состояния если нажать на кнопку операции 2. не работало вычисление если набрать первую цифру и операцию после чего нажать равно. Эти ошибки я смог поправить сам =)
=)