@sirJimmy · Post #28902 · 02.05.2022 г., 16:04
A moment of patience in a moment of anger, prevents thousands of moments of regret. #truewisdom #selfmotivation #sirjimmy #teamjimmy
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #truewisdom
@sirJimmy · Post #28902 · 02.05.2022 г., 16:04
A moment of patience in a moment of anger, prevents thousands of moments of regret. #truewisdom #selfmotivation #sirjimmy #teamjimmy
@englishmeta1 · Post #250 · 26.06.2024 г., 10:40
Question ppl ask me often How can I improve my writing skills? Here is my reply Improving your writing skills is a valuable endeavor that can benefit you in many areas of life. Here are several strategies you can use to become a better writer: 1. Read Regularly: - Diverse Materials: Read a variety of genres, including fiction, non-fiction, journalism, and academic papers. This exposes you to different styles and vocabularies. - Analyzing: Pay attention to how authors construct sentences, develop ideas, and build arguments. Reflect on what makes their writing effective or ineffective. 2. Write Daily: - Journaling: Keep a daily journal to practice writing regularly. It doesn’t have to be formal; the goal is to make writing a habit. - Prompts: Use writing prompts to challenge yourself and spark creativity. Websites and books often offer daily prompts. 3. Learn the Basics: - Grammar and Syntax: Brush up on grammar and syntax rules. Resources like "The Elements of Style" by Strunk and White can be very useful. - Vocabulary: Expand your vocabulary through reading and using tools like a thesaurus. 4. Seek Feedback: - Peer Review: Share your writing with friends, colleagues, or writing groups to get constructive feedback. - Professional Feedback: Consider hiring a writing coach or taking a writing course. 5. Revise and Edit: - Multiple Drafts: Don’t be afraid to write multiple drafts. Revision is a crucial part of the writing process. - Editing: Learn to edit your work critically. Look for clarity, coherence, conciseness, and correctness. 6. Study Writing Techniques: - Workshops and Courses: Enroll in writing workshops or online courses. Websites like Coursera, Udemy, and edX offer courses on various aspects of writing. - Books on Writing: Read books about writing, such as "On Writing" by Stephen King or "Bird by Bird" by Anne Lamott. 7. Practice Different Styles: - Genres: Experiment with different genres (e.g., poetry, essays, short stories, technical writing) to find your strengths and preferences. - Perspectives: Write from different perspectives and in various voices to develop versatility. 8. Use Writing Tools: - Software: Use tools like Grammarly, Hemingway Editor, or ProWritingAid to help with grammar and style. - Outlining: Use outlining tools to organize your thoughts before you start writing. 9. Stay Motivated: - Set Goals: Set specific, achievable writing goals (e.g., write 500 words a day, complete a short story in a month). - Celebrate Progress: Acknowledge and celebrate your progress to stay motivated. 10. Read Aloud: - Hearing Your Writing: Reading your work aloud can help you catch errors and awkward phrasing that you might miss when reading silently. Improving your writing skills is a continuous process, and persistence is key. By integrating these strategies into your routine, you'll gradually become a more confident and effective writer. #sirjimmy#teamjimmy#writingskills#englishmadeeasy#truewisdom
@sirjimmy · Post #31107 · 26.06.2024 г., 08:19
Question ppl ask me often How can I improve my writing skills? Here is my reply Improving your writing skills is a valuable endeavor that can benefit you in many areas of life. Here are several strategies you can use to become a better writer: 1. Read Regularly: - Diverse Materials: Read a variety of genres, including fiction, non-fiction, journalism, and academic papers. This exposes you to different styles and vocabularies. - Analyzing: Pay attention to how authors construct sentences, develop ideas, and build arguments. Reflect on what makes their writing effective or ineffective. 2. Write Daily: - Journaling: Keep a daily journal to practice writing regularly. It doesn’t have to be formal; the goal is to make writing a habit. - Prompts: Use writing prompts to challenge yourself and spark creativity. Websites and books often offer daily prompts. 3. Learn the Basics: - Grammar and Syntax: Brush up on grammar and syntax rules. Resources like "The Elements of Style" by Strunk and White can be very useful. - Vocabulary: Expand your vocabulary through reading and using tools like a thesaurus. 4. Seek Feedback: - Peer Review: Share your writing with friends, colleagues, or writing groups to get constructive feedback. - Professional Feedback: Consider hiring a writing coach or taking a writing course. 5. Revise and Edit: - Multiple Drafts: Don’t be afraid to write multiple drafts. Revision is a crucial part of the writing process. - Editing: Learn to edit your work critically. Look for clarity, coherence, conciseness, and correctness. 6. Study Writing Techniques: - Workshops and Courses: Enroll in writing workshops or online courses. Websites like Coursera, Udemy, and edX offer courses on various aspects of writing. - Books on Writing: Read books about writing, such as "On Writing" by Stephen King or "Bird by Bird" by Anne Lamott. 7. Practice Different Styles: - Genres: Experiment with different genres (e.g., poetry, essays, short stories, technical writing) to find your strengths and preferences. - Perspectives: Write from different perspectives and in various voices to develop versatility. 8. Use Writing Tools: - Software: Use tools like Grammarly, Hemingway Editor, or ProWritingAid to help with grammar and style. - Outlining: Use outlining tools to organize your thoughts before you start writing. 9. Stay Motivated: - Set Goals: Set specific, achievable writing goals (e.g., write 500 words a day, complete a short story in a month). - Celebrate Progress: Acknowledge and celebrate your progress to stay motivated. 10. Read Aloud: - Hearing Your Writing: Reading your work aloud can help you catch errors and awkward phrasing that you might miss when reading silently. Improving your writing skills is a continuous process, and persistence is key. By integrating these strategies into your routine, you'll gradually become a more confident and effective writer. #sirjimmy#teamjimmy#writingskills#englishmadeeasy#truewisdom