Я думаю, что «нет такой вещи, как пятиминутная работа» - программисты склонны чрезмерно оптимистично относиться к разработке, и что мы должны действительно продумать последствия, прежде чем обещать быстрое решение проблемы, а затем погрузиться в код
26
Подумайте, прежде чем начать кодирование.
Нет ничего более постоянного, чем временные решения :)
Если решить проблему очень сложно, скорее всего, сама проблема плохо поставлена с самого начала.
источник
Ваше программное обеспечение будет жить значительно дольше, чем вы думаете, когда оно будет написано.
Я начал свою карьеру в 80-х годах. Я начал с программного обеспечения, которое появилось в 70-х годах и все еще использовалось в 90-х годах (возможно, дольше, я не знаю наверняка о его судьбе). Часть моего собственного открытого исходного кода находится на полпути через второе десятилетие.
источник
Хорошо работать с другими очень важно.
«Покажи мне свое« иди к парню », и я покажу тебе твои проблемы»
Кодеры Slapdash Hero - те, кто просто запускает код, не обращая внимания на условности, удобочитаемость или что-либо еще, над кем работает, - могут принести больше вреда, чем пользы.
Нельзя сказать, что люди, которые могут писать тонны кода хорошего качества - это плохо. Просто редко.
источник
Это был бы урок смирения.
источник
Изучение новых языков является частью работы
Я узнал о четырех языках программирования в школе еще в 80-х, но использовал один из них на работе. У меня было четыре работы, на которых я даже не знал языка, на котором меня наняли.
В целом, я изучил и профессионально использовал, возможно, дюжину языков в моей карьере, включая FORTRAN, c, c ++, c #, java, perl, Tcl, ruby, groovy, awk, python, sh, batch, DCL, javascript и другие. несколько маленьких DSL. Делая небольшую математику, я, кажется, усваиваю новый язык каждые пару лет, хотя есть много совпадений.
Если что-то было постоянным в моей карьере, это перемены.
источник
Программное обеспечение никогда не бывает полным.
В требованиях, улучшениях, исправлениях ошибок всегда есть некоторые изменения, с которыми вы должны быть готовы справиться. Таким образом, будьте гибкими и принимайте тот факт, что
"software is never complete"
и всегда есть место для улучшений.источник
Продолжайте учиться каждый день. Знание сегодня устарело завтра.
По иронии судьбы этот ответ должен быть устаревшим и завтра. Но на самом деле, усердно изучайте один или два материала и будьте сертифицированы, если это возможно, будьте богом этого (может быть, языками программирования или администрированием системы / сети / базы данных) и всегда следите за другими мелочами, такими как другие языки без значения для ты.
Я имею в виду, например, быть отличным профессионалом в администрировании Java и Oracle DB, но немного изучить Python, PHP, C ++, HTML5, Javascript, но не до уровня сертификации. Изучите все существующие веб-или языковые рамки. Изучите или попробуйте получить некоторый (базовый) опыт работы с каждой существующей базой данных, такой как SQL Server, MySQL, Cassandra, HBase, PostgreSQL, и всем миром No-SQL, таким как MongoDB и CouchDB. Попробуйте иметь некоторый опыт администрирования и виртуализации Linux.
Это самый большой урок, который я извлек из своего 16-летнего опыта. В течение почти 10 лет я был программистом на одном языке, использующим Pascal в его эпоху и Visual Basic 6 в начале тысячелетия, а также разработчиком PHP с 9 лет назад. Но с тех пор я узнаю, что разработчики должны знать хотя бы немного обо всем.
источник
«Если твоя математика неверна, ты тост».
Узнал это впервые несколько лет назад. Узнал это снова всего две недели назад.
источник
Я бы сказал, что лучший урок, который я усвоил,
«Вы всегда должны стремиться к лучшему подходу, а не к вашему ».
источник
Я узнал, что лучший принцип дизайна - это KISS (будь проще, глупый!) .
Я понял, что основной задачей должно быть обеспечение простоты и чистоты вашего кода, и каждый член команды должен понимать, что у вас за код.
The KISS principle
утверждает, что большинство систем работают лучше, если они остаются простыми, а не сложными, поэтому простота должна быть ключевой целью при проектировании, и следует избегать ненужной сложности.источник
Если это не сломано, не исправляйте это!
Попытка расширить и улучшить то, что уже работает, может доставить вам большую головную боль
источник
Нет попытки
Допустим, у вас есть задача или набор задач, которые, по оценкам, займут 4 дня. Затем ваш босс или руководитель проекта спрашивает, можете ли вы попытаться сделать это за два дня по какой-то важной причине. Желая быть хорошим, гибким сотрудником, у вас может возникнуть соблазн сказать: конечно, вы можете попробовать. Скорее всего, это приведет к тому, что вы либо пропустите крайний срок, либо собираетесь сделать недоделанный хак, чтобы это сделать. И это не вина твоего босса, что он попросил тебя сделать это, это его работа. Это ваша вина, что вы не сказали «нет», это ваша работа.
Вы не можете торговаться со временем. Вы можете торговаться с размахом. Будьте профессиональны и не продавайте себя коротко.
источник
«Этого никогда не случится» на самом деле означает «Этого не произойдет до первого дня в производстве»
источник
Приятно писать первоклассный, современный, чистый код.
Даже если меня попросят сделать какой-нибудь быстрый обходной путь, который разрушит базу кода, я скорее сделаю это хорошим способом.
источник
Написание кода легко. Читать код сложно. Даже если код твой. Поэтому, когда это возможно, выбирайте удобочитаемый подход.
Вы не умнее других. Никогда не думайте, что вы подходите лучше всего потому, что он ваш.
Обратите внимание на то, что сказано, а не НА КОГО сказано. Блестящие идеи могут прийти для самых неожиданных источников.
Не ленись. Не торопитесь, чтобы написать хороший код. Вам все равно придется исправить это по более высокой цене.
источник
Не используйте необычные функции ООП только потому, что можете! - ЯГНИ (Тебе это не понадобится)
Use fancy OOP features
потому что они имеют конкретную, очевидную выгоду для проблемы, которую вы пытаетесь решить . Ты смеешься, но я вижу это все время. Большинство программистов никогда не встречали объект, который им не нравился. Я думаю, что должно быть наоборот: эти методы виновны, пока не будут доказаны невиновными в суде KISS .источник