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

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

6
Чому в SQL запиті "Вибір перед" З "? [зачинено]
Це те, що мене сильно турбувало в школі. П'ять років тому, коли я вивчав SQL, мені завжди було цікаво, чому ми спочатку вказуємо потрібні поля, а потім, звідки ми їх хочемо. За моєю ідеєю, ми повинні написати: From Employee e Select e.Name Так чому норма говорить наступне? Select e.Name -- …
67 sql  history  syntax 

8
Як деякі мовні спільноти (наприклад, Ruby та Python) змогли запобігти фрагментації, тоді як інші (наприклад, Lisp чи ML) не були?
Термін "Lisp" (або "Lisp-like") - це парасолька для безлічі різних мов, таких як Common Lisp, Scheme та Arc. Існує аналогічна фрагментація в інших мовних спільнотах, як у ML. Однак і Ruby, і Python вдалося уникнути цієї долі, коли інновації відбулися більше при впровадженні (як PyPy або YARV), а не вносити …

11
Як я можу оцінити суму технічної заборгованості, яка існує в проекті?
Хтось знає, чи є якийсь інструмент, щоб поставити число на технічну заборгованість кодової бази, як своєрідну метрику коду? Якщо ні, чи хтось знає алгоритм чи набір евристики для нього? Якщо жодна з цих речей поки що не існує, мені були б цікаві ідеї, як почати таке. Тобто, як можна кількісно …

10
Чому C переважав над Паскалем? [зачинено]
Я розумію, що у 1980-х, а може бути, і в 1990-х роках Паскаль і С були в значній мірі головними у ролі виробничих мов. Чи остаточна смерть Паскаля пов'язана лише з нехтуванням Делфі Борланда ? Або було більше, наприклад, невдача чи, можливо, щось із сутністю не було з Паскалем (будь-які …

10
Чистий читабельний код проти швидко важкого для читання коду. Коли перейти лінію?
Коли я пишу код, я завжди намагаюся зробити свій код максимально чистим і читабельним. Раз у раз настає час, коли вам потрібно перейти лінію та перейти від приємного чистого коду до трохи потворнішого коду, щоб зробити це швидше. Коли це нормально, щоб перетнути цю лінію?

7
Чим IntelliJ кращий за Eclipse? [зачинено]
Я знаю, що виникали такі питання, як ваш улюблений редактор / IDE? , але жоден з них не відповів на це запитання: навіщо витрачати гроші на IntelliJ, коли Eclipse безкоштовний? Я особисто великий шанувальник IntelliJ, але я не дуже пробував Eclipse. Я використовував IntelliJ для проектів, які були Java, JSP, …
67 java  ide  eclipse  intellij 

11
Навіщо збирання сміття, якщо там є розумні покажчики
У наші дні стільки мов збирають сміття. Він навіть доступний для C ++ третіми сторонами. Але C ++ має RAII та розумні покажчики. Тож який сенс використовувати сміття? Це робить щось зайве? І в інших мовах, таких як C #, якщо всі посилання розглядаються як розумні покажчики (не відхиляючи RAII …

9
Новачок-програміст засмучений відсутністю словника помилок компілятора
Друг моєї родини попросив мене трохи допомогти, коли він вчиться програмувати (мовою С). Поки ми говорили, він висловив розчарування з приводу того, що важко розуміє повідомлення про помилки, який дає його компілятор (GCC), коли робить помилки. Він не розуміє всіх вживаних термінів, а іноді саме їх поєднання виходить за межі …

10
Дизайн синтаксису - навіщо використовувати круглі дужки, коли не передаються аргументи?
У багатьох мовах синтаксис function_name(arg1, arg2, ...)використовується для виклику функції. Коли ми хочемо викликати функцію без будь-яких аргументів, ми повинні це зробити function_name(). Мені здається дивним, що компілятору чи інтерпретатору сценарію потрібно ()буде успішно виявити його як виклик функції. Якщо змінна, як відомо, називається, чому її не function_name;вистачить? З іншого …

9
Чи повинні репозиторії повертати IQueryable?
Я бачив багато проектів, у яких є сховища, які повертають екземпляри IQueryable. Це дозволяє додаткові фільтри та сортування можна виконувати IQueryableза іншим кодом, що перекладається на різні генеровані SQL. Мені цікаво, звідки взялася ця закономірність і чи це гарна ідея. Моя найбільша стурбованість - IQueryableце обіцянка потрапити в базу даних …

13
Чому для нижчих шарів додатків добре не знати про «вищі»?
У типовому (добре розробленому) веб-додатку MVC база даних не знає код моделі, код моделі не знає код контролера, а код контролера не знає про код перегляду. (Я думаю, ви навіть можете почати так далеко, як апаратне забезпечення, а може бути, і далі. Йдучи в іншому напрямку, ви можете піти лише …

12
Чи порушує конструктор, який підтверджує свої аргументи, SRP?
Я намагаюся максимально дотримуватися Принципу єдиної відповідальності (СРП) і звик до певної моделі (для СРП щодо методів), сильно покладаючись на делегатів. Мені хотілося б знати, чи є такий підхід обгрунтованим чи є якісь серйозні проблеми з ним. Наприклад, щоб перевірити вхід до конструктора, я міг би ввести наступний метод ( …

13
У мого начальника є поганий випадок «тут не винаходили» [закрито]
Мій відділ спеціалізується на перетворенні даних клієнтів у нашу схему баз даних, щоб вони могли використовувати наше програмне забезпечення. Зараз у нас є додатки C #, які займають IDataReader(у 99% часу це SqlDataReader), виконують чистку та картування, вставляють її в DataRowоб’єкт, а потім використовують a, SqlBulkCopyщоб вставити його в нашу …

4
Чи формально система типу Haskell еквівалентна Java? [зачинено]
Я усвідомлюю, що деякі речі легші / складніші в одній мові, ніж інші, але мене цікавлять лише функції, пов'язані з типом, які можливі в одній, а в іншій неможливі / неактуальні. Щоб зробити його більш конкретним, давайте ігноруємо розширення типу Haskell, оскільки там так багато, що роблять усілякі шалені / …

9
Які існують шаблони та анти-шаблони реєстрації програм? [зачинено]
Нещодавно мені довелося дослідити проблему на місцях для нашого великого корпоративного застосування. Мене жахнув журнал, який мені довелося розчесати, намагаючись знайти проблему, і наприкінці дня журнали зовсім не допомогли визначити / виділити помилку. Примітка. Я розумію, що не всі помилки можна знайти через журнали. Це не змінює того факту, що …
66 logging 

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