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

97
Вредные соблазны в программировании

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

97
(Почему) я должен выучить новый язык программирования? [закрыто]

Я достаточно хорошо знаю Java, C / C ++, JavaScript / jQuery и неплохо разбираюсь в Objective-C. Я довольно продуктивно работаю с языками и соответствующими им средами и действительно с достаточной легкостью создаю системы уровня предприятия (а также мелкомасштабные системы), сохраняя код «чистым»...

97
Чем ссылка Java отличается от указателя C?

В C есть указатели, а в Java есть так называемые ссылки. У них есть что-то общее в том смысле, что все они указывают на что-то. Я знаю, что указатели в C хранят адреса, на которые они указывают. Ссылка также хранит адрес? Чем они отличаются, кроме того, что указатель более гибкий и подвержен...

97
Каковы преимущества сборочных скриптов?

Большую часть своей карьеры программиста я использовал команду «build / compile / run» в любой IDE, с которой я работаю, для создания работающей программы. Это одна кнопка, довольно просто. Однако по мере того, как я узнаю больше о разных языках и фреймворках, я все больше и больше говорю о...

97
Как сохранить приложения без сохранения состояния

Это может быть запутанный вопрос, но я пытаюсь лучше понять безгражданство. Исходя из того, что я прочитал, веб-приложения должны быть без сохранения состояния, то есть каждый запрос рассматривается как независимая транзакция. В результате следует избегать сеанса и файлов cookie (так как они оба с...

97
Является ли инкапсуляция еще одним из ООП слонов?

Инкапсуляция говорит мне сделать все или почти все поля приватными и выставить их через getters / setters. Но теперь появляются такие библиотеки, как Lombok, которые позволяют нам раскрывать все приватные поля одной короткой аннотацией @Data. Он создаст геттеры, сеттеры и конструкторы настроек для...

96
Как программисты бросают работу? [закрыто]

Я думаю о том, чтобы уйти из моего нынешнего работодателя и подумать, как продвигается этот процесс в мире программирования. Сейчас у нас много проектов, и я единственный разработчик. У нас есть 4-5 проектов, которые достаточно велики и должны быть выполнены в ближайшие несколько месяцев, и даже...

96
Язык программирования C все еще используется?

Я программист на C #, и большая часть моей разработки предназначена для веб-сайтов вместе с несколькими приложениями Windows. Что касается C, я давно не использовал его, так как в этом не было необходимости. Меня удивило, когда одна из моих подруг сказала, что ей нужно изучать C для тестирования...

96
Является ли снятие отпечатков пальцев браузером жизнеспособной техникой для идентификации анонимных пользователей?

Является ли снятие отпечатков в браузере достаточным методом для уникальной идентификации анонимных пользователей? Что, если вы включите биометрические данные, такие как жесты мыши или шаблоны печатания? На днях я столкнулся с экспериментом Panopticlick, который EFF запускает на отпечатках браузера...

96
Почему языки программирования, особенно C, используют фигурные скобки, а не квадратные?

Определение «языка C-Style» практически может быть упрощено до «использования фигурных скобок ( {})». Почему мы используем этот конкретный символ (и почему не что-то более разумное, например [], которое не требует клавиши Shift, по крайней мере, на клавиатурах США)? Есть ли какая-то реальная выгода...

96
Как защитить REST API только для надежных мобильных приложений

Как мне убедиться, что мой REST API отвечает только на запросы, сгенерированные доверенными клиентами, в моем случае мои собственные мобильные приложения? Я хочу предотвратить нежелательные запросы, поступающие из других источников. Я не хочу, чтобы пользователи вводили серийный ключ или что-то...

96
Почему «Выбрать * из таблицы» считается плохой практикой

Вчера я обсуждал с программистом «хобби» (я сам профессиональный программист). Мы сталкивались с некоторыми из его работ, и он сказал, что он всегда запрашивает все столбцы в своей базе данных (даже на / в производственном сервере / коде). Я пытался убедить его не делать этого, но пока не...

96
Клиенту нужен исходный код, но он содержит много общего кода, который я повторно использую с другими проектами

У меня есть клиент, который хотел бы, чтобы я доставил исходный код с разработанным двоичным файлом приложения. Изначально они ничего не сказали об исходном коде, но недавно сказали, что он им нужен. Контракт не окончен. Они согласились на работу, не подписали, а затем вернулись с этим пунктом....

96
Как предупредить других программистов о реализации классов

Я пишу классы, которые «должны использоваться особым образом» (я думаю, все классы должны ...). Например, я создаю fooManagerкласс, который требует вызова, скажем, Initialize(string,string). И, чтобы продвинуть пример немного дальше, класс был бы бесполезен, если бы мы не слушали его...

96
Мой клиент хочет 25% комментариев в моем текущем проекте, как реагировать? [закрыто]

младший разработчик здесь. В настоящее время я работаю один над веб-приложением для крупного клиента моей компании. Я начал в прошлом месяце. Клиент хочет по крайней мере 25% комментариев в каждом из своих программных проектов. Я проверил код предыдущих приложений и вот мои наблюдения: каждый файл...

96
Что такое термин для функции, которая при повторном вызове имеет тот же эффект, что и один раз?

(Предполагая однопоточную среду) Функция, которая удовлетворяет этому критерию: bool MyClass::is_initialized = false; void MyClass::lazy_initialize() { if (!is_initialized) { initialize(); //Should not be called multiple times is_initialized = true; } } По сути, я могу вызывать эту функцию...

95
Так что же на самом деле имел в виду Алан Кей под термином «объектно-ориентированный»?

Как сообщается, Алан Кей является изобретателем термина «объектно-ориентированный». И его часто цитируют так, как будто он сказал, что то, что мы сегодня называем ОО, не имеет в виду. Например, я только что нашел это в Google: Я придумал термин «объектно-ориентированный» и могу сказать, что я не...

95
TDD негативный опыт [закрыт]

Какова отрицательная сторона вашего опыта TDD? Считаете ли вы, что детские шаги (самое простое решение, чтобы сделать тест зеленым) раздражают и бесполезны? Считаете ли вы, что тесты без значения (когда тест изначально имеет смысл, но в финальной реализации проверяет ту же логику, что и другие...