Розробка програмного забезпечення

Питання та відповіді для професіоналів, науковців та студентів, які працюють у життєвому циклі розвитку систем

22
Як я переконаю своїх колег-розробників ХОЧАТИ додавати коментарі до початкових кодів?
Я знаю, що Subversion (те, що ми використовуємо на роботі), можна налаштувати так, щоб вимагати коментарів до комітетів, однак я не в змозі просто включити це. Я знаю, що моя причина коментувати свої зобов’язання полягає в тому, що корисно, хоч би як спогад, щоб швидко зрозуміти причину, що стоїть на …

10
Використання сторонніх бібліотек - завжди використовувати обгортку?
Більшість проектів, якими я займаюсь, використовують декілька компонентів з відкритим кодом. Як загальний принцип, чи корисно завжди уникати прив'язки всіх компонентів коду до сторонніх бібліотек і замість цього переходити через інкапсуляційну обгортку, щоб уникнути болю змін? Наприклад, більшість наших PHP-проектів безпосередньо використовують log4php як систему реєстрації, тобто вони створюють екземпляр …

6
Коли їхати вільно на C #?
Багато в чому мені дуже подобається ідея інтерфейсів Fluent, але з усіма сучасними особливостями C # (ініціалізатори, лямбдати, названі параметри) я вважаю себе думкою: «чи варто це?» Та «чи це правильна модель? використовувати? ". Чи міг би хто-небудь дати мені, як не прийняту практику, принаймні власний досвід чи матрицю рішення, …
78 c#  .net 

30
Чи потрібно бути хорошим в математиці, щоб бути хорошим програмістом? [зачинено]
Здається, що звичайна мудрість говорить про те, що хороші програмісти також непогані в математиці. Або що вони якимось сутнісно пов'язані. Чимало книг з програмування, які я прочитав, дають багато прикладів, які є рішеннями математичних задач або якимось чином пов'язані з математикою, ніби ці приклади є те, що має сенс для …
78 math 

17
Посібник з кодування: Методи не повинні містити більше 7 заяв?
Я переглядав Правила кодування AvSol для C # і погоджуюся майже з усім, але мені дуже цікаво побачити, що інші думають про одне конкретне правило. AV1500 Методи не повинні перевищувати 7 тверджень Метод, який вимагає більше 7 тверджень, робить занадто багато або має занадто багато обов'язків. Він також вимагає від …

11
Чому об’єкти Java не видаляються відразу після того, як на них більше не посилаються?
У Java, як тільки на об'єкт більше немає посилань, він стає придатним для видалення, але JVM вирішує, коли об'єкт буде фактично видалений. Щоб використовувати термінологію Objective-C, всі посилання на Java по суті є "сильними". Однак у Objective-C, якщо на об'єкт більше немає чітких посилань, об'єкт видаляється негайно. Чому це не …

6
Чи всі магічні числа створені однаковими?
У недавньому проекті мені потрібно було перетворити з байтів на кілобайт кібібайт . Код був досить простим: var kBval = byteVal / 1024; Після написання цього запитання я отримав решту функції, яка працювала і продовжувала роботу. Але згодом я почав замислюватися, чи щойно я вклав у свій код чарівне число …

7
Код Перший проти Першої бази даних
Коли я розробляю і створюю програмне забезпечення, над яким я працюю, я, як правило, спочатку проектую і створюю резервні таблиці SQL, а потім переходжу до власне програмування. Проект, над яким я зараз працюю, хоч і мене спантеличив правильно. Це, мабуть, пов’язано з відсутністю хороших, твердих вимог, але я, на жаль, …

12
Що насправді не в тому, що кінцева точка повертає HTML, а не дані JSON?
Коли я вперше почав вивчати PHP (приблизно 5 або 6 років тому), я дізнався про Ajax , і пройшов "фази": Сервер повертає дані HTML , і ви помістіть його в DOM в innerHTML Ви дізнаєтесь про формати передачі даних, такі як XML (і кажете "ооо, для чого це використовується)", а …
77 design  ajax 

11
Чому саме програмне забезпечення ОС?
Я намагаюся визначити технічні деталі, чому програмне забезпечення, яке виробляється на мовах програмування для певних операційних систем, працює лише з ними. Наскільки я розумію, що двійкові файли є специфічними для певних процесорів завдяки специфічній для процесора мовою мови, яку вони розуміють, і різним наборам інструкцій між різними процесорами. Але звідки …

7
Що таке раннє та пізнє зв’язування?
Я постійно чую про раннє та пізнє зв’язування, але не розумію, що вони є. Я знайшов таке пояснення, яке не розумію: Рання прив'язка відноситься до присвоєння значень змінним під час проектування, тоді як пізня прив'язка - до присвоєння значень змінним протягом часу виконання. Чи може хтось, будь ласка, визначити два …

10
Чому масиви С не відстежують їх довжину?
Що було міркуванням про те, щоб явно не зберігати довжину масиву з масивом у C? Як я це бачу, є надзвичайно багато причин для цього, але не дуже багато в підтримку стандарту (C89). Наприклад: Доступна довжина в буфері може запобігти перевищенню буфера. Стиль Java arr.lengthодночасно зрозумілий і не дозволяє програмісту …
77 c 

11
Чи погана практика змінювати код строго для тестування
Я маю дискусію з колегою-програмістом про те, чи є хорошою чи поганою практикою змінювати робочий фрагмент коду лише для того, щоб зробити його перевіряемим (наприклад, через одиничні тести). На мою думку, це нормально, в межах дотримання хороших об'єктно-орієнтованих та звичайно практичних програмних технологій (не "оприлюднення все" тощо). Думка мого колеги …


11
Читаються регулярні вирази, не втрачаючи своєї сили?
Багато програмістів знають радість збивати швидкий регулярний вираз, в ці дні часто за допомогою якогось веб-сервісу, або, традиційно, за інтерактивного підказки, або, можливо, написання невеликого сценарію, який має регулярний вираз, що розробляється, і колекцію тестових випадків . У будь-якому випадку процес є ітераційним і досить швидким: продовжуйте злому криптовалютного рядка, …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.