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

31
Происхождение отступа кода

Мне интересно узнать, кто ввел отступ кода, а также когда и где он был введен. Это кажется настолько важным для понимания кода, но оно не было универсальным. Большая часть кода на Фортране и Базовом языке была (есть?) Без отступов, и то же самое относится и к Коболу. Я почти уверен, что даже видел...

31
Должен ли я поместить функции, которые используются только в одной другой функции, в эту функцию?

Конкретно я пишу на JavaScript. Допустим, моя основная функция - это функция A. Если функция A делает несколько вызовов функции B, но функция B больше нигде не используется, то я должен просто поместить функцию B в функцию A? Это хорошая практика? Или я все еще должен поместить функцию B в ту же...

31
Нужно ли тестировать 32-битное программное обеспечение в 64-битной Windows?

Я работаю в команде разработчиков программного обеспечения в качестве разработчика программного обеспечения. Я работаю над тем же проектом уже три года. Это 32-битное приложение на C # для настольных компьютеров в .NET 4. Наша целевая платформа в Windows 7 (до прошлого года мы должны были...

31
Как предотвратить гонки в веб-приложении?

Рассмотрим сайт электронной коммерции, где Алиса и Боб редактируют списки продуктов. Алиса улучшает описания, а Боб обновляет цены. Они начинают редактировать Acme Wonder Widget одновременно. Боб заканчивает первым и сохраняет товар по новой цене. Алисе требуется немного больше времени, чтобы...

31
Объясните MVC непрограммистам [закрыто]

У меня есть необходимость объяснить MVC непрограммистам. А именно, руководителям других отделов, в контексте отчета о проделанной работе. Одна из вещей, которые я делаю, - это рефакторинг нашей кодовой базы в сторону разделения MVC. Какое разделение MVC они могут спросить? Зачем они могут спросить?...

31
Разумно ли предположить, что любая физическая величина может быть представлена ​​64-разрядным целым числом без переполнения или переполнения?

Исходный алгоритм двоичного поиска в JDK использовал 32-разрядные целые числа и имел ошибку переполнения if (low + high) > INT_MAX( http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html ) , Если мы переписали тот же алгоритм двоичного поиска с использованием...

31
Прямое использование Make считается устаревшим? [закрыто]

Поэтому я сталкивался со многими комментариями / публикациями / и т. Д., Касающимися непосредственного создания make-файлов, и того, как это глупо делать в 2015 году. Мне известны такие инструменты, как CMake, и я на самом деле довольно часто использую CMake. Дело в том, что CMake просто создает...

31
Хорошо ли иметь запах кода, если он допускает более простое решение другой проблемы? [закрыто]

Группа друзей и я работали над проектом в последнее время, и мы хотели изобрести хороший ООП-способ представления сценария, специфичного для нашего продукта. По сути, мы работаем над пули-адом в стиле Тохоу , и мы хотели создать систему, в которой мы могли бы легко представить любое возможное...

31
Является ли создание новых исключений RuntimeException в недоступном коде плохим стилем?

Мне поручили поддерживать приложение, написанное некоторое время назад более опытными разработчиками. Я наткнулся на этот кусок кода: public Configuration retrieveUserMailConfiguration(Long id) throws MailException { try { return translate(mailManagementService.retrieveUserMailConfiguration(id)); }...

31
Нет центральной базы данных

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

31
Как обычно анализируются комментарии?

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

31
Почему Math.Sqrt () является статической функцией?

При обсуждении статических методов и методов экземпляров я всегда думаю, что это Sqrt()должен быть метод экземпляров числовых типов, а не статический метод. Почему это? Это очевидно работает на значение. // looks wrong to me var y = Math.Sqrt(x); // looks better to me var y = x.Sqrt(); Типы...

31
Ввод пароля в вызове REST API

Предположим, у меня есть REST API, который также используется для установки / сброса паролей. Давайте также предположим, что это работает через соединения HTTPS. Есть ли веская причина не вводить этот пароль в путь вызова, скажем, я закодирую его в BASE64? Примером может быть сброс пароля таким...

31
Является ли «StringBuilder» приложением шаблона проектирования Builder?

Ограничен ли шаблон «Строитель» обращением к анти-шаблону «телескопический конструктор», или можно сказать, что он также решает более общую проблему сложного создания неизменяемых объектов? У StringBuilderкласса есть слово «строитель» в его имени, но он не имеет ничего общего с телескопическими...

31
Методы разделения передней и задней части с полным стеком JavaScript?

Предположим, у меня есть интерфейс, который в основном представляет собой одностраничное приложение, написанное с использованием angular, grunt и bower. И предположим, у меня есть бэкэнд, который в основном представляет собой просто REST API, расположенный поверх ORM, который хранит / извлекает...

31
Реализация интерфейса, когда вам не нужно одно из свойств

Довольно просто. Я реализую интерфейс, но есть одно свойство, которое не нужно для этого класса и, фактически, не должно использоваться. Моей первоначальной идеей было сделать что-то вроде: int IFoo.Bar { get { raise new NotImplementedException(); } } Я полагаю, что в этом нет ничего плохого, но...

31
Как работал контроль версий на микрокомпьютерах дня в 80-х и 90-х годах?

Мне любопытно узнать, как команды программистов обычно управляли разработкой программного обеспечения в 80-х и начале 90-х годов. Был ли весь исходный код просто храниться на одной машине, на которой все работали, или же источник передавался и копировался вручную с дискеты и сливался вручную, или...

31
Является ли переопределение конкретных методов запахом кода?

Правда ли, что переопределение конкретных методов - это запах кода? Потому что я думаю, что если вам нужно переопределить конкретные методы: public class A{ public void a(){ } } public class B extends A{ @Override public void a(){ } } это можно переписать как public interface A{ public void a(); }...