Библиотека программиста | программирование, кодинг, разработка
83.2K subscribers
3.79K photos
175 videos
89 files
6.85K links
Все самое полезное для программиста в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/a32a0d94

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5ba2901234b69883a4d46
Download Telegram
💡Как сделать неправильный код заметным: по мотивам статьи 2005 года от Joel Spolsky, автора Trello и сооснователя Stack Overflow

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

📌 Несколько примеров кода, основанных на материалах статьи:

1. Венгерская нотация для разделения безопасных и небезопасных строк:

✔️ Небезопасная строка (например, ввод пользователя): usUserInput
✔️ Безопасная строка: sSafeString

Пример использования:

char *usUserInput = getUserInput();
char *sSafeString = sanitizeInput(usUserInput);


2. Использование типов для предотвращения ошибок: вместо использования обычных типов, создайте новые типы, которые будут явно указывать на специфику использования.

Пример на C++:

struct SafeString { std::string value; };
struct UnsafeString { std::string value; };

SafeString sanitize(UnsafeString us) {
// ...
return SafeString{/* ... */};
}


3. Семантическая разница между похожими действиями:

✔️Явное разделение функций с похожими действиями, но разными последствиями.

Пример на Python:

def delete_file_safe(file_path):
# Безопасное удаление файла с проверками
pass

def delete_file_force(file_path):
# Принудительное удаление файла без проверок
pass


#советыдляразрабов #холивар
👍24❤‍🔥32🥱1
Представьте: вас берут на новый проект, а там сплошной легаси-код. Ваши действия👇

👍 — останусь, разберусь и постараюсь развить его
🤔 — любым способом перейду в другой проект
🥱 — а где эта грань между легаси и нормальным проектом?
❤️ — свой вариант (напишу в комментариях)

#холивар
🥱176👍62😁8🤔74