{"action":"created","issue":{"url":"https://api.github.com/repos/apavlyut/geekbrainsror/issues/4","repository_url":"https://api.github.com/repos/apavlyut/geekbrainsror","labels_url":"https://api.github.com/repos/apavlyut/geekbrainsror/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/apavlyut/geekbrainsror/issues/4/comments","events_url":"https://api.github.com/repos/apavlyut/geekbrainsror/issues/4/events","html_url":"https://github.com/apavlyut/geekbrainsror/pull/4","id":211187562,"number":4,"title":"Alexey revyagin","user":{"login":"alex-ee","id":21247459,"avatar_url":"https://avatars1.githubusercontent.com/u/21247459?v=3","gravatar_id":"","url":"https://api.github.com/users/alex-ee","html_url":"https://github.com/alex-ee","followers_url":"https://api.github.com/users/alex-ee/followers","following_url":"https://api.github.com/users/alex-ee/following{/other_user}","gists_url":"https://api.github.com/users/alex-ee/gists{/gist_id}","starred_url":"https://api.github.com/users/alex-ee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alex-ee/subscriptions","organizations_url":"https://api.github.com/users/alex-ee/orgs","repos_url":"https://api.github.com/users/alex-ee/repos","events_url":"https://api.github.com/users/alex-ee/events{/privacy}","received_events_url":"https://api.github.com/users/alex-ee/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-03-01T19:45:08Z","updated_at":"2017-03-02T15:35:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apavlyut/geekbrainsror/pulls/4","html_url":"https://github.com/apavlyut/geekbrainsror/pull/4","diff_url":"https://github.com/apavlyut/geekbrainsror/pull/4.diff","patch_url":"https://github.com/apavlyut/geekbrainsror/pull/4.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/apavlyut/geekbrainsror/issues/comments/283686870","html_url":"https://github.com/apavlyut/geekbrainsror/pull/4#issuecomment-283686870","issue_url":"https://api.github.com/repos/apavlyut/geekbrainsror/issues/4","id":283686870,"user":{"login":"apavlyut","id":69304,"avatar_url":"https://avatars1.githubusercontent.com/u/69304?v=3","gravatar_id":"","url":"https://api.github.com/users/apavlyut","html_url":"https://github.com/apavlyut","followers_url":"https://api.github.com/users/apavlyut/followers","following_url":"https://api.github.com/users/apavlyut/following{/other_user}","gists_url":"https://api.github.com/users/apavlyut/gists{/gist_id}","starred_url":"https://api.github.com/users/apavlyut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apavlyut/subscriptions","organizations_url":"https://api.github.com/users/apavlyut/orgs","repos_url":"https://api.github.com/users/apavlyut/repos","events_url":"https://api.github.com/users/apavlyut/events{/privacy}","received_events_url":"https://api.github.com/users/apavlyut/received_events","type":"User","site_admin":false},"created_at":"2017-03-02T15:35:14Z","updated_at":"2017-03-02T15:35:14Z","body":"Сначала про rack приложение - это исполнено на пять с плюсом, перенос игры, проброс параметров в клас обработчик, сделать так чтобы это все работало это супер круто. Вижу что ты очень хорошо продвигаешься в языке вперед, мне нравится, и ты его в целом уже держишь в руках и есть управляемость, разнообразие конструкций и прочее в норме - проходишь в финал.\r\n\r\nПо самой игре - почему я просил сделать это так как я просил - пару от меня вопросов (поставить машину на дорогу и велосипед и поехать). Это все идет от задачи и понимания эксплуатации программы.\r\n\r\nТы сделал программу, в которой я потратил примерно 90% всех действий \"настраивая ее\" и потом один раз нажал и получил результат своей игры.\r\n\r\nЭто комментарий на будущее - если ты так хочешь все детализировать и сделать такой классный продукт, то будь добр все эти настройки тоже сделай сам по умолчанию и дай человеку выбрать \"машина\" и нажать \"поехали\" или \"сделать бум\" - где под этими кнопками ты сам со своей программой придумаешь как это все произойдет.\r\n\r\nВ этом была часть задачи и ты вот на нее как раз попался - я хочу сделать серьезный акцент, важный на будущее - все программы пишутся для людей. Люди обращаются к машинам только в случаях крайней необходимости - бОльшая часть населения планеты любого возраста и навыков не и испытывают трепет к компьютерам и телефонам, у них нет желания их настраивать часами и получать от этого удовольствие - они бесятся когда их просят в момент, когда они вынуждены а не сами этого хотя, пользования некой системой - нажимать больше одного раза.\r\n\r\nЭто следствие природного желания экономии энергии человека. Об этом ты прочитаешь еще много интересных книжек, и это же относится к проектировке всей программы и к тестированию.\r\n\r\nОдин принцип главнее всех - \"не заставляйте меня думать\". (это еще на заре сети сказал Якоб Нильсен).\r\n\r\nА как это влияет на твою прогармму в коде в итоге? - очень просто. Когда ты пойдешь рассуждать от позиции что мне нужно поиграть, применяя минимальное количество взаимодействий с моей стороны, тогда ты сразу же \"задашь\" интерфейс между мной и программой в виде трех возможностей - поставить машину на дорогу, поставить велосипед на дорогу, поехали.\r\n\r\nВ итоге у тебя будет только три теста на эти возможности, а в данном случае (веб исполнение) они тоже должны тогда быть исполнены (в виде Capybara и тд.).\r\n\r\nВ ообщем у тебя есть явная тенденция к усложнению, и поэтому правило тебе на весь период обучения - твои прогарммы должны иметь минимальное количество кода минимально удовлетворительно решающие поставленную задачу. \r\n\r\nНе трать ни свои силы, ни ресусры машин, ни время пользователей - и будет тебе счастье."}}
{"actor":{"display_login":"apavlyut"}}