Вопросы с тегом «programming-practices»

74
Сколько строк в классе слишком много в Java? [закрыто]

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

71
Возможно ли достичь абсолютного нулевого состояния ошибки для крупномасштабного программного обеспечения?

Я говорю о 20-30+ миллионах строк кода, программного обеспечения в масштабе и сложности Autodesk Maya, например. Если вы заморозите разработку до тех пор, пока это необходимо, сможете ли вы на самом деле исправить все ошибки до тех пор, пока просто не будет ни одной ошибки, если такая вещь может...

66
Если мне нужно использовать часть памяти на протяжении всей жизни моей программы, действительно ли необходимо освободить ее прямо перед завершением программы?

Во многих книгах и учебных пособиях я слышал, как подчеркивается практика управления памятью, и чувствовал, что некоторые загадочные и ужасные вещи могут произойти, если я не освобожу память после того, как использую ее. Я не могу говорить о других системах (хотя для меня разумно предположить, что...

65
Как правильно писать циклы?

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

64
Как я могу получить вещи прямо в начале программного проекта? [закрыто]

Я программист с 1-летним стажем, недавно я понял, что редко начинаю проект правильно (большая часть моего стороннего проекта), обычно цикл проекта проходит как Начните с нескольких вариантов использования Начать кодирование Осознайте несколько вещей, с которыми я не справился хорошо, и не очень...

63
Есть ли такая вещь, как наличие слишком большого количества частных функций / методов?

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

63
Почему некоторые программисты думают, что существует разница между теорией и практикой? [закрыто]

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

63
Является ли создание нового программного обеспечения основной частью большинства задач программирования? [закрыто]

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

61
Какие проблемы решает MapReduce?

Я читал о MapReduce некоторое время - но я не могу понять, как кто-то может принять решение использовать (или не использовать) MapReduce. Я имею в виду, какие проблемные шаблоны указывают на то, что MapReduce можно...

60
Лучшая практика по если / возврат

Я хочу знать, что считается лучшим способом возвращения, когда у меня есть ifзаявление. Пример 1: public bool MyFunction() { // Get some string for this example string myString = GetString(); if (myString == null) { return false; } else { myString = "Name " + myString; // Do something more here......

59
Когда совершать код?

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

58
Почему программа использует закрытие?

После прочтения многих постов, объясняющих здесь замыкания, мне все еще не хватает ключевой концепции: зачем писать замыкания? Какую конкретную задачу будет выполнять программист, которая лучше всего подходит для закрытия? Примерами замыканий в Swift являются обращения к NSUrl и использование...

57
Как мы можем быть уверены, что нижние компоненты компьютерного программирования, такие как компиляторы, ассемблеры, машинные инструкции и т. Д., Безупречны?

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

57
Альтернативы для Профессионального контроля версий [закрыто]

Мы сотрудничаем с некоторыми не программистами (писателями), которые должны внести свой вклад в один из наших проектов. Теперь им просто не нравится идея использовать Git (или что-то в этом роде) для управления версиями своей работы. Я думаю, что это потому, что они просто не считают нужным...

54
Делать небольшие изменения, проверять их, затем «полоскать и повторять» - вредная привычка?

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

54
Хорошо ли, что тестеры соревнуются, чтобы увидеть, кто открывает больше ошибок?

Я разработчик программного обеспечения. Есть команда тестировщиков, которые следят за тестовыми примерами, написанными аналитиком, и проводят их, а также проводят предварительное тестирование. Похоже, что тестеры боролись за то, чтобы узнать, кто открывает больше ошибок, и я заметил, что качество...

54
Как бороться с тавтологией в комментариях? [закрыто]

Иногда я нахожусь в ситуациях, когда часть кода, которую я пишу, является (или кажется ) настолько очевидной, что ее имя будет в основном повторяться в виде комментария: class Example { /// <summary> /// The location of the update. /// </summary> public Uri UpdateLocation { get; set; };...

54
Архитектура MVC - сколько контроллеров мне нужно?

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

53
Должны ли методы класса вызывать свои собственные методы получения и установки?

Где я работаю, я вижу много классов, которые делают такие вещи: public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do...

52
Должен ли я позаботиться о гоночных условиях, которые почти наверняка не имеют шансов произойти?

Давайте рассмотрим что-то вроде приложения с графическим интерфейсом, в котором основной поток обновляет интерфейс практически мгновенно, а другой поток опрашивает данные по сети или что-то, что гарантированно займет 5-10 секунд для завершения работы. Я получил много разных ответов на это, но...