Запитання з тегом «language-agnostic»

Цей тег призначений для питань, не характерних для мови програмування чи середовища.

30
Що повинен знати кожен програміст?
Незалежно від використовуваних мов (програм) чи операційної системи чи середовища, для якого вони розробляються, що повинен знати кожен програміст? Деякі відомості: Мені цікаво стати найкращим програмістом, який я можу. У рамках цього процесу я намагаюся зрозуміти те, чого не знаю, і коли б мені це принесло користь. Хоча навколо ряду …

20
Чи погані практики програмування `break 'та` continue`?
Мій начальник постійно згадує, що погані програмісти використовують breakі continueв циклі. Я їх постійно використовую, бо вони мають сенс; дозвольте показати вам натхнення: function verify(object) { if (object->value < 0) return false; if (object->value > object->max_value) return false; if (object->name == "") return false; ... } Суть у тому, що …

18
Чи є привід для коротких імен змінних?
Це стало великим розладом із кодовою базою, над якою я зараз працюю; багато наших імен змінних є короткими та неописними. Я єдиний розробник, що залишився в проекті, і немає документації щодо того, що більшість з них робить, тому мені доводиться витрачати додатковий час на пошук того, що вони представляють. Наприклад, …

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

11
Сучасний спосіб виконання помилок ...
Я певний час обдумував цю проблему і постійно знаходжу застереження та суперечності, тому сподіваюся, що хтось може зробити висновок щодо наступного: Виняткові переваги над кодами помилок Наскільки мені відомо, від роботи в галузі протягом чотирьох років, читання книг і блогів і т. Д. Поточна найкраща практика поводження з помилками - …

13
Чому ми не зберігаємо синтаксичне дерево замість вихідного коду?
У нас багато мов програмування. Кожна мова розбирається і перевіряється синтаксис перед тим, як перевести його в код, щоб побудувати абстрактне синтаксичне дерево (AST). У нас є це абстрактне синтаксичне дерево, чому б ми не зберігали це дерево синтаксису замість вихідного коду (або поруч із вихідним кодом)? Використовуючи AST замість …

30
Шкідливі спокуси в програмуванні
Що цікаво, які спокуси програмування виявилися справді шкідливими у ваших проектах? Як, коли ти справді відчуваєш бажання щось зробити, і ти вважаєш, що це піде на користь проекту, інакше ти просто обдуриш себе, повіривши в це, і через тиждень ти зрозумієш, що ти не вирішив жодних реальних проблем, а натомість …

1
Чи дійсно є принципова різниця між зворотними дзвінками та обіцянками?
При виконанні однопотокового асинхронного програмування я знайомий з двома основними методами. Найбільш поширеним є використання зворотних дзвінків. Це означає перехід до функції, яка асинхронно виконує функцію зворотного виклику як параметр. Коли асинхронна операція закінчиться, буде викликано зворотний виклик. Деякі типові jQueryкоди розроблені таким чином: $.get('userDetails', {'name': 'joe'}, function(data) { $('#userAge').text(data.age); …

7
Оцінка короткого замикання, чи це погана практика?
Щось я знав деякий час, але ніколи не вважав, що в більшості мов можна віддавати пріоритет операторам у операторі if, який базується на їхньому порядку. Я часто використовую це як спосіб запобігти нульовим виняткам посилань, наприклад: if (smartphone != null && smartphone.GetSignal() > 50) { // Do stuff } У …

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

6
Яким чином відбувається вивезення сміття мовами, які складаються на місцях?
Після перегляду декількох відповідей на переповнення стека, зрозуміло, що деякі натільно складені мови мають збір сміття . Але мені незрозуміло, як саме це працювало б. Я розумію, як збирання сміття могло працювати з інтерпретованою мовою. Збірник сміття просто працює поруч з інтерпретатором і видаляє невикористані та недоступні об'єкти із пам'яті …

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

17
Як навчити себе уникати написання «розумного» коду? [зачинено]
Чи знаєте ви таке почуття, коли вам просто потрібно показати цей новий трюк за допомогою Expressions або узагальнити три різні процедури? Це не повинно бути за шкалою архітектури космонавта, і насправді це може бути корисним, але я не можу не помітити, що хтось інший реалізував би той самий клас чи …

10
Чи корисна практика замінити ділення на множення, коли це можливо?
Щоразу, коли мені потрібно поділ, наприклад, перевірка стану, я б хотів змінити вираз поділу на множення, наприклад: Оригінальна версія: if(newValue / oldValue >= SOME_CONSTANT) Нова версія: if(newValue >= oldValue * SOME_CONSTANT) Тому що я думаю, що це може уникнути: Ділення на нуль Переповнення, коли oldValueдуже мало Це так? Чи є …

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

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