1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Какие ошибки при разработке "били" Вас?

Тема в разделе "Web Coding", создана пользователем Slayter, 7 янв 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Slayter

    Slayter

    Регистр.:
    8 апр 2006
    Сообщения:
    232
    Симпатии:
    52
    Давайте поговорим о(лингвисты есть? "о" или "об"?) ошибках, которые мы допускаем при разработке - просто назовите по пунктам те, которые вы допускали и собираетесь (либо уже) начали обходить стороной.


    Наверняка кто-то найдет что-нибудь, в чем ошибается каждый раз при проектировании\разработке приложения.
    Не забывайте пожалуйста в списке своих ошибок делать следующие пометки:
    • [в прошлом]
    • [иногда и в настоящем]
    • [постоянно]
    • [хочу отучиться]
    • [отучиваюсь]
    Ошибки которые били меня сильнее всего:
    1. использование переменных а не констант в конфиге приложения (при большом объёме было много случаев когда переменной присваивалось другое значение на полпути) [в прошлом];
    2. использование сокращенных\не явно говорящих о предназначении переменных имён [в прошлом];
    3. смесь логики и представления [в прошлом];
    4. использование значений для каких либо действий\функций без выноса их в конфиг (например бывали такие случаи когда прямо перед процедурой авторизации присваивались значения переменным на максимальное кол-во неверных попыток войти, время бана логина при привышении этого значения, и т.д.) [в прошлом];
    5. иногда стремился запихнуть как можно больше кода в один файл (как дурак до сих пор все аяксовые функции храню в одном файле, в котором количество строк уже за тысячу давно перевалило) с той целью, чтобы в дальнейшем было легче "ориентироваться" в коде. на самом деле разделение рулит [иногда и в настоящем],[отучиваюсь];
    6. первым делом сажусь писать основную часть приложения напрочь забывая о дебаге и в последствии дико матерясь про себя и вслух при дебагинге [постоянно];
    7. приложение заведомо нерасширяемое, заточенное под какую-либо определенную направленность [в прошлом];
    8. забывал про табуляцию кода [в прошлом];
    Жду ответов. Будем учиться вместе ;)
     
  2. alex Roosso

    alex Roosso Прохожие

    Я сейчас использую иногда такие. Редко. Я то в них разбираюсь, а вот другому будет трудновато.

    Иногда по горячке такое делаю. Потом исправляю при повторном прохождении по скрипту.

    +1

    Тоже сначала пишу "ядро", но тьфу тьфу тьфу про дебагинг не забывал +)

    У мну файлик есть конфиг.php в нем около 20 переменных с каментами моими. Тем есть и $debug = true; садясь за новый скрипт я первым делом копирую в будующий скрипт (движок) этот файлик. Помогает не забываться -миг-

    Стараюсь такого не делать, хотя иногда приходится. Бывают такие клиенты типа "мне бы подешевле и побыстрей". Я его честно предупреждаю, что двиг будет топорным под конкретную задачу. Хотя все равно прыгать влево вправо там можно по функционалу при необходимости. Это автопилот подсказывает как сформировать классы и баблиотеки, что бы в случае чего...

    Никогда. Я ещё когда html учился привык всегда код держать аккуратным, что бы можно было разобраться в случае. Наученный первыми тремя-пятью работами по поиску запятой в куче муссора, быстро отучился беспорядок держать в коде.
     
  3. invader

    invader Серый кардинал в отставке :)

    Moderator
    • Супермодератор
    Регистр.:
    3 апр 2006
    Сообщения:
    2.718
    Симпатии:
    5.693
    Видимо я не буду оригинальным..
    использование переменных а не констант в конфиге
    Этим по моему все грешат. Со временем и опытом проходит.
    [в прошлом].

    использование значений для каких либо действий\функций без выноса их в конфиг...
    уж и не припомню... но видимо тоже грешил :)
    [в прошлом].
    иногда стремился запихнуть как можно больше кода в один файл
    Нет. Такого подхода не было никогда и сейчас когда вижу подобные коды в файлах тихо бешусь...
    первым делом сажусь писать основную часть приложения напрочь забывая о дебаге и в последствии дико матерясь про себя и вслух при дебагинге
    [было - есть и будет]. :D
    Отучиться не смог....
    забывал про табуляцию кода
    [в прошлом].

    Чем сейчас страдаю и страдать буду, но никому не советую:
    Часто начинаю писать ядро с тяжелейшего бодуна. Я не знаю что находит... "озарение" видимо. Но смотреть на следующий день заготовку страшновато...:confused:

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

    Чуть позже видимо откорректирую то что понаписал, потому что и сейчас я с бодуна...:(
     
  4. Jacob

    Jacob

    Регистр.:
    18 окт 2006
    Сообщения:
    257
    Симпатии:
    18
    по-хорошему должно как минимум присутствовать
    1) проектирование
    2) кодирование (+ обязательное документирование кода)
    3) тестирование

    однако несознательные люди наровят начать и закончить пунктом два (естественно без документирования). ну, а дальше снежный ком последствий.
     
  5. Slayter

    Slayter

    Регистр.:
    8 апр 2006
    Сообщения:
    232
    Симпатии:
    52
    Да...пора бы на tdd переходить.
     
  6. morgan_spb

    morgan_spb Постоялец

    Регистр.:
    15 сен 2006
    Сообщения:
    55
    Симпатии:
    1
    самый большой косяк у себя заметил это
    когда после разработки половины кода понимаешь, что здесь можно было улучшить,
    и там тоже

    в итоге время выполнения работы затягивается до бесконечности.... хочется то ведь самого оптимального кода... :nezn:
     
  7. pk2002

    pk2002

    Регистр.:
    14 ноя 2006
    Сообщения:
    382
    Симпатии:
    350
    О дебаггинге тоже частенько забываю (хотя в последнее время реже), потом иногда жалеть приходится.
    Никак не могу приучить себя пользоваться системой контроля версий. Стараюсь использовать subversion, но иногда забываю или забиваю.
    С комментами тоже бывает опускаю. В последнее время реже.
    Согласен, tdd неплохой подход. все собираюсь переключить мозги на это дело
     
  8. mc -aiZer-

    mc -aiZer- Прохожие

    Об. Потому что "ошибок" - первая буква гласная.

    Бывает, но ведь это мой код. Я пишу приложения для того, чтобы их было удобно юзать, а не для того чтобы в них кто-то копался.
    У меня например частенько бывает один файл func.inc.php, в который я запихиваю все функции, чтобы потом их не искать, а заинклудил файлик и юазешь...
    Никогда в жизни. Сам даже когда скачиваю чье-то приложение, обязательно табулирую его под себя..
     
  9. keatlon

    keatlon Прохожие

    ну и я начну с прошлого

    1. линейность кода, полное отсутсвие даже намеков на ООП
    2. использование переменных $ik $PP_level и т.д
    3. отсутсвие форматирования кода
    4. отсутсвие средств отладки (внутренни дебаг, логгирование)
    5. нерасширяемость, неуниверсальность, тупизм :))
    6. отсутсвие ядра и конфига
    7. отсутсвие каких либо паттернов
    7.1 никакого смарти
    7.2 никакого фронт-контроллера

    8. одноБДшность
    9. отсутсвие проверок ввода на клиенте
    10. нежелеание исправлять чтото сразу, как только понимаешь что это не годится (!!! один из важных моментов, рефакторинг во время кодинга)


    сейчас страдаю таким (знаю что надо но не могу поделать)

    1. вписываю "русский текст" не заботясь о будущей мультиязычности

    2. желание релизовать фичу и решить проблему в одиночку. Зачастую чужой свежий взгляд находит изъяны в существующем алгоритме. Не то чтобы код кривой, а просто чужие идеи дают более универсальное и эффективное решение

    3. Стили, верстка - больное место

    4. отсутсвие документации

    5. отсутсвие unit тестирования

    6 отсутсвие скриптов инсталляции
     
Статус темы:
Закрыта.