💡Как сделать неправильный код заметным: по мотивам статьи 2005 года от Joel Spolsky, автора Trello и сооснователя Stack Overflow
Джоэл обсуждает идею о том, что писать код так, чтобы упростить обнаружение потенциальных проблем. Для этого он предлагает различные конвенции именования и структурирования кода, а также расширяет уже существующие.
📌 Несколько примеров кода, основанных на материалах статьи:
1. Венгерская нотация для разделения безопасных и небезопасных строк:
✔️ Небезопасная строка (например, ввод пользователя):
✔️ Безопасная строка:
Пример использования:
2. Использование типов для предотвращения ошибок: вместо использования обычных типов, создайте новые типы, которые будут явно указывать на специфику использования.
Пример на C++:
3. Семантическая разница между похожими действиями:
✔️Явное разделение функций с похожими действиями, но разными последствиями.
Пример на Python:
#советыдляразрабов #холивар
Джоэл обсуждает идею о том, что писать код так, чтобы упростить обнаружение потенциальных проблем. Для этого он предлагает различные конвенции именования и структурирования кода, а также расширяет уже существующие.
📌 Несколько примеров кода, основанных на материалах статьи:
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
#советыдляразрабов #холивар
Joel on Software
Making Wrong Code Look Wrong
Way back in September 1983, I started my first real job, working at Oranim, a big bread factory in Israel that made something like 100,000 loaves of bread every night in six giant ovens the size of…
Представьте: вас берут на новый проект, а там сплошной легаси-код. Ваши действия👇
👍 — останусь, разберусь и постараюсь развить его
🤔 — любым способом перейду в другой проект
🥱 — а где эта грань между легаси и нормальным проектом?
❤️ — свой вариант (напишу в комментариях)
#холивар
👍 — останусь, разберусь и постараюсь развить его
🤔 — любым способом перейду в другой проект
🥱 — а где эта грань между легаси и нормальным проектом?
❤️ — свой вариант (напишу в комментариях)
#холивар