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

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

4
Что считается IDE?
Недавно читал вопрос Какие языки вы используете без IDE? Один вопрос, заданный в нескольких ответах, был: «Это Notepad ++ и IDE?» Один из ответов на первоначальный вопрос гласил: «Нет, я использую vim ...», подразумевая, что vim является IDE. Но тогда другой ответ предположил, что vim не является IDE. Так где …
31 ide 

11
Разве программирование для жизни разрушило вашу способность наслаждаться технологиями? [закрыто]
Процитирую Артура Кларка: Любая достаточно развитая технология неотличима от магии. Раньше я смотрел на технологии с удивлением и изумлением. Я хотел разобрать это, понять, как это работает, понять все это. Технология была волшебной. Я старше, я знаю больше, и я провожу дни, создавая вещи, которые, надеюсь, наполняют других людей таким …

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

16
Я использую IDE (Eclipse) для разработки программного обеспечения. Почему я должен переключиться на vim или emacs? [закрыто]
Моя дневная работа - Java / веб-разработчик. Я использую затмение в течение ~ 5 лет. Я думаю, что это отлично, и я также использую Webstorm для javascript и html / jsp. Иногда мне нужно зайти на сервер по ssh и покопаться в конфигурационных файлах; для этого я использую ви и …
31 ide  eclipse  vim  emacs 

4
Есть ли области, где TDD обеспечивает высокую рентабельность инвестиций, и другие области, где ROI настолько низок, что не стоит следовать? [закрыто]
Тестовая разработка. Я понимаю, нравится. Но написание тестов требует накладных расходов. Таким образом, следует ли использовать TDD повсеместно во всей кодовой базе или есть области, где TDD обеспечивает высокий ROI, и другие области, где ROI настолько низок, что его не стоит использовать.

10
У вашей компании есть стандарт кодирования? [закрыто]
Недавно я увидел, что Microsoft выпустила документ по стандартам кодирования ( All-In-One Code Framework Coding Standards ), и это заставило меня задуматься ... У компании, в которой я работаю, вообще нет официальных стандартов кодирования. Существует всего несколько разработчиков, и мы были вместе достаточно долго, чтобы развиться в похожие стили, и …

17
Как программисты остаются здоровыми? [закрыто]
Быть программистом - не очень полезная профессия - долгие часы сидеть за компьютером, с приближающимися сроками, прямо над кабиной. Это наносит ущерб телу и разуму. Итак, какие у вас есть советы для программистов, чтобы оставаться здоровым?

7
Почему макросы не включены в большинство современных языков программирования?
Я знаю, что они реализованы крайне небезопасно в C / C ++. Разве они не могут быть реализованы более безопасным способом? Действительно ли недостатки макросов достаточно серьезны, чтобы перевесить огромную мощность, которую они предоставляют?

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

13
Какой была ваша самая трудная охота на жуков, и как вы ее нашли и убили?
Это вопрос «Поделись знаниями». Мне интересно учиться на ваших успехах и / или неудачах. Информация, которая может быть полезна ... Задний план: Контекст: язык, приложение, среда и т. Д. Как была обнаружена ошибка? Кто или что выявило ошибку? Насколько сложно было воспроизвести ошибку? Охота Какой у тебя был план? С …
31 experience  bug 

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

10
Вы обычно отправляете объекты или их переменные-члены в функции?
Что является общепринятой практикой между этими двумя случаями: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } или function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } Другими словами, лучше ли передавать объекты целиком или только те поля, которые вам нужны?

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

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

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

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