Программная инженерия

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

7
Триггеры SQL и когда или когда их не использовать.
Когда я первоначально изучал SQL, мне всегда говорили, что использовать триггеры можно только в том случае, если вам это действительно нужно, и по возможности использовать хранимые процедуры, если это возможно. К сожалению, в то время (добрых несколько лет назад) я не был настолько любопытен и не заботился об основах, как …
43 sql 

13
Это плохая практика собеседования, когда кандидаты пишут реализацию связного списка? [закрыто]
Читая этот сайт и ТАК, я видел много историй вопросов и ответов на собеседования, в которых говорилось, что кандидат должен был создать связанный список с нуля. Обычно это упражнение «дай мне» для кандидатов на роль в программировании, таких как написание FizzBuzz. Идея состоит в том, что если кандидат не может …

22
Были ли пробелы в идентификаторах когда-либо идиоматическими? [закрыто]
Стиль C # предлагает использовать CamelCase в идентификаторах для разделения слов. Традиция Лиспа предлагает использовать вместо него тире. Существовал ли когда-либо язык программирования, где использование пробелов в идентификаторах было не только разрешено, но и широко использовалось при использовании многословных идентификаторов? В некоторых реализациях Scheme могут быть идентификаторы с пробелами , …

6
Безопаснее ли хешировать пароль несколько раз?
Я несколько раз читал, что при хранении паролей рекомендуется использовать двойное хеширование строк (например, с md5, затем с sha1, очевидно, с солями). Я предполагаю, что первый вопрос, "действительно ли это правильно?" Если нет, то, пожалуйста, отклоните остальную часть этого вопроса :) Причина, по которой я спрашиваю, заключается в том, что, …
43 hashing 

3
Каково происхождение и значение фразы «лямбда-предельная»?
Я возился с функциональными языками программирования в течение нескольких лет, и я продолжаю сталкиваться с этой фразой. Например, это глава «Маленький интриган», которая определенно предшествует блогу с таким названием. (Нет, эта глава не поможет ответить на мой вопрос.) Я понимаю, что означает лямбда, идея анонимной функции проста и мощна, но …

10
Прототипирование против чистого кода на ранних стадиях
Я планирую работать / начать над несколькими личными проектами, которые могут закончиться моей повседневной работой. Это заставило меня задуматься, с чего начать? Просто прототип - напишите только рабочий базовый код, который может стоить мне много времени на оптимизацию и рефакторинг для легкого расширения. Пишите чистый, оптимизированный и документированный код с …

8
Является ли один объект конфигурации плохой идеей?
В большинстве моих приложений у меня есть одноэлементный или статический объект «config», отвечающий за чтение различных настроек с диска. Почти все классы используют его для различных целей. По сути, это просто хеш-таблица пар имя / значение. Это только для чтения, поэтому меня не слишком беспокоит тот факт, что у меня …

15
Можете ли вы быть менеджером и программистом одновременно? [закрыто]
Управление другими программистами, пока вы сами являетесь частью рабочей силы программирования. Это очень распространенная схема, по крайней мере, в компаниях, в которых я работал. Можете ли вы быть хорошим программистом или хорошим менеджером, если вы делаете оба одновременно? Я подвергаю сомнению эффективность человека, который должен выполнять две совершенно разные роли, …

7
Твердые принципы против ЯГНИ
Когда твердые принципы становятся ЯГНИ? Как программисты, мы постоянно идем на компромиссы между сложностью, ремонтопригодностью, временем сборки и так далее. Среди прочего, два из самых умных руководящих принципов для выбора - это, на мой взгляд, принципы SOLID и YAGNI. Если вам это не нужно; не строить его, и держать его …

19
Как вы делитесь своим ремеслом с не программистами?
Иногда я чувствую себя музыкантом, который не может играть вживую. Программирование - это довольно крутой навык и очень широкий мир, но многое происходит "за кадром" - в вашей голове, в вашем офисе, вдали от зрителей. Вы, конечно, можете поговорить о программировании с другими программистами, и есть одноранговое программирование, и вы …

10
Есть ли причина использовать классы «старых данных»?
В унаследованном коде я иногда вижу классы, которые являются ничем иным, как обертками для данных. что-то типа: class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } Мое понимание ОО состоит в том, что классы являются структурами для данных и методами работы с этими данными. Это, …

20
Как вы остаетесь мотивированными для хобби проектов? [закрыто]
Я начал серьезно программировать как хобби, студент, а затем стажер около 4 лет назад, и я всегда делал небольшие проекты в качестве учебного упражнения. Хотя школы закончились, и я провожу дни на работе в качестве разработчика программного обеспечения. Я все еще хотел бы делать проекты на стороне, чтобы узнать об …

10
Приводит ли использование выражений LINQ и Lambda к менее читаемому коду? [закрыто]
У меня беседа с коллегой по Linq, я напишу здесь: Сотрудник: Давайте будем честными здесь. Синтаксис Linq отстой. Это сбивает с толку и не интуитивно понятно. Я: да ладно, более запутанно, чем T-SQL? Сотрудник: да. Я: он имеет те же основные части, выберите, где и из Сотрудник: Linq, для меня, …

1
Изменение имен авторов в лицензии MIT [закрыто]
Несколько лет назад я написал и выпустил некоторое программное обеспечение под лицензией MIT. Недавно я заметил, что одна (или несколько?) Вилок изменила ведущее уведомление об авторских правах в верхней части лицензии, т.е. Copyright (c) 2014 <my name> MIT License Permission is hereby granted, free of charge, to any person obtaining …

7
Как вы называете функцию, когда один и тот же вход всегда будет возвращать один и тот же выход, но также имеет побочные эффекты?
Скажем, у нас есть нормальная чистая функция, такая как function add(a, b) { return a + b } И тогда мы изменим его так, что он имеет побочный эффект function add(a, b) { writeToDatabase(Math.random()) return a + b; } Насколько я знаю, это не считается чистой функцией, потому что я …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.