Всем привет!
Уже довольно давно занимаюсь программированием, но все-равно не получается качественно писать код. То есть хочется как? Написал функцию, запустил и она работает с первого раза. Но как правило появляются ошибки либо в синтаксисе, иногда в логике - что самое печальное!
Вот я хотел бы узнать, это нормально? Или просто еще опыта недостаточно? У меня к сожалению процесс больше похож на метод проб и ошибок. Хоть и осознанный, но неприятно. =( Хотя алгоритм продумываю как можно тщательнее.
Есть способы улучшить написание кода? Ну, не знаю, упражнения какие на внимательность и т.п.? Или тут чисто опыт и больше ничего?
AllesKlar
23.10.2015 - 23:03
Ходи сюда
http://phpforum.su/index.php?showforum=146 специально же для новичков сделали
Отличный шанс прокачать скил
_____________
[продано копирайтерам]
AllesKlar, да, это очень классная тема, стараюсь по возможности ее курить. С теорией проблем уже существенно меньше. Дело именно самом кодинге. То есть я прекрасно представляю чего хочу. И мне этого было бы достаточно. Сажусь кодить: то там баг, то тут косяк, то здесь лишнее, то вон там не хватает условия...
Ускользают некоторые нюансы, кажется что всё хорошо, а при выполнении оказывается совсем даже не так. Приходится тратить много времени на тщательнейшее бета-тестирование, чтобы перед клиентом не краснеть.
Причем доходит до того, что подобное тестирование и исправление багов занимает больше всего времени. Гораздо больше чем на проработку алгоритма и первичную реализацию.
Это у всех так? Или надо что-то делать? Само пройдет или так на всю жизнь и останется? ))
Invis1ble
23.10.2015 - 23:26
без конкретики точно сказать сложно, а за твоим рабочим процессом никто следить не будет
в целом, на "первичную" разработку обычно тратится меньше времени (если это не что-то типовое, но там вообще, как правило, копипастом и доводкой обойтись можно)
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
sergeiss
23.10.2015 - 23:56
Ron, если кто-то скажет, что он сразу пишет идеальный код, то можешь смело "плюнуть ему в глаза"
Потому что этого просто не может быть. По определению.
Проблема больше не в том, что делаешь ошибки или используешь не самые оптимальные алгоритмы. Проблема больше в том, насколько быстро ты способен найти эти ошибки или оптимизировать код. Это особенно актуально в случае, если тебе приходится работать с чужим кодом. Который может быть написан по очень вычурной логике.
Иногда, работая с чужим кодом, приходится потратить несколько часов на то, чтобы в итоге написать пару строчек кода. Но зато эти строки окажутся в нужном месте и исправят этот код.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
inpost
24.10.2015 - 02:00
RonЯ как не напишу 100 строк кода, обязательно 3 раза проверю, потом запущу и получу: warning, неопределённая переменная
Так что ошибки у всех и всегда есть, надо уметь тестировать свой код. Тот же TDD или UnitTest.
Улучшить работу очень просто, тестируй, много и тщательно тестируй после написания
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
dron4ik
24.10.2015 - 02:15
а в чем проблема? Если бы можно было бы писать проекты с первого присеста без ошибок... ох и жизнь тогда бы была... а так все маемся.
_____________
Ex3m.com.ua — Активный образ жизни
AllesKlar
24.10.2015 - 02:55
Если вы написали программу и компилятор не выдал ошибок, обратитесь к разработчику компилятора за исправленной версией (С) Шутка из 80-х
_____________
[продано копирайтерам]
Ага, вот оно что. Ну вы меня успокоили немного! А то уж стал думать может быть не тем я занимаюсь.
Все-таки времени потратил на программирование уже достаточно, а как были ошибки в кодинге, так и остались. Изменилось только то, что теперь это не "почему-то не работает хз почему", а "блин, опять накосячил так-перетак!". Иногда по сообщению об ошибке уже знаю что на что нужно заменить. Или какие условия поменять местами по ходу выполнения.
Цитата (inpost @ 24.10.2015 - 02:00) |
Улучшить работу очень просто, тестируй, много и тщательно тестируй после написания |
Конечно тестирую. Причем стараюсь не только на прямой функционал, но еще и на нештатные сиуации, насколько фантазии хватает. Например загружаю текстовый файл вместо картинки и т.д... Но до изобретательности клиентов мне порой бывает ооооочень далеко. Один крендель в каталоге завел картинку под цвет фона и убрал название. Таким образом скрыл часть ассортимента, чтобы не удалять. Вот тоже! Хорошо линк на картинку, а то бы появилась запись-зомби.
Нет бы обратился, там дел на 10 минут добавить ему функцию скрытия разделов. Это "сложно" с его точки зрения. Зато над "простыми" задачами можно просидеть 2-3 дня.
А потом, типа, чего так дорого!? Мол, хорошо, что не заказал ту "сложную" штуку...
Цитата (sergeiss @ 23.10.2015 - 23:56) |
Проблема больше в том, насколько быстро ты способен найти эти ошибки или оптимизировать код. |
Свой код? Очень быстро! Главное чтобы обнаружил баг именно я, а не клиент. Чужой код попадается крайне редко. Сейчас рынок переполнен всякими вордпрессами и джумлами. А там чего делать? Обычно люди, кому нужны подобные сайты не отличаются креативным мышлением и все модули под их нужды уже миллион раз написаны, причем в ассортименте. По крайней мере никогда еще не видел интересного решения на базе джумлы. Дизайн красивый видел! Но обычно суть банальнее некуда.
Michael
24.10.2015 - 10:22
Мощно
ты twin-у помогаешь разрабатывать его фреймворк, не кодом и идеями за все это время, тут увы и ах, ну так рекламой хотя бы, ну да, ты же сам
подписывался помогать:
Цитата (AllesKlar) |
Много наших поляжет.
А чё, я подписываюсь. Тоже ярый самописец |
но когда уже все таки делом ему поможешь?
_____________
There never was a struggle in the soul of a good man that was not hard
AllesKlar
24.10.2015 - 10:34
MichaelИ? Че так мало?
// чет форум гифку не кажет, короче тут кот, жрущий попкорн
// а вдруг у него работа, семья, собака, тренировки 3 раза в неделю, подумала Маша... да ну, нафиг, такого не бывает, все вокруг уйопы, как и я.
_____________
[продано копирайтерам]
Игорь_Vasinsky
24.10.2015 - 12:25
Миша не безпредель. Германец по существу отметил.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Ron @ 23.10.2015 - 18:53) |
Написал функцию, запустил и она работает с первого раза. |
Код, который работает с первого запуска - это повод для ПаНИкИИИ!!!!
Это меня еще лет семь назад один уважаемый программист научил.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Я считаю что компилироваться и запускаться должно все с первого раза. Выдавать достоверный результат желательно тоже, только если алгоритм простой... скажем сортировку пузырьком не плохо было бы с первого раза выплевывать, а к примеру алгоритм управления конвеером может занять какое-то время.
Впрочем от того какие алгоритмы вы способны решить за некоторое время прямо пропорционален вашей оплате труда.
На счет правильного написания кода то все просто: прикинули алгоритм составили блок схему, перенесли блок схему в код. - по другому жди багов.
На счет багов - я сейчас работаю в сапорте проекта 15 летней давности! Представляешь! 15 лет проект работает и все еще не все баги отловили.
_____________
Трус не играет в хокей
stumpДада. Я когда еще программировал паяльником, тогда еще была поговорка:
Сделал, включил в сеть, пошел дым.
Расскажи кому-нибудь, что у тебя все компелируется с первого раза, они и послушают мастера, открвши рот.
Ты можешь себя обманывать сколько угодно. Других не надо.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.