Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
✅IELTS Speaking | @IELTS_8
🔥This book is written by a certified professional IELTS instructor who scored Band 9.0 in Academic IELTS.
It provides useful tips and strategies for IELTS speaking.
#speaking
⚡️IELTS Academy ⚡️
🔈IELTS SPEAKING : Vocabulary Usage tip in the test
☝️ Many IELTS students worry too much about using high level vocabulary for the speaking test. However, you are not expected to use academic vocabulary for this part of the test. You should only use vocabulary that you are very comfortable with. Do not try practicing new vocabulary during your IELTS test.
❇️ Overthinking about vocabulary causes a lot of students to make mistakes, feel stressed out, and to say "uhhh" and "ummm" too much.
❗️What you should focus on is avoiding common words and phrases, such as:
▪️I like
▪️I think
▪️For example
👉Although it's OK to sometimes use these words/phrases, you should use a bit of variety when you're speaking so that you won't sound like a boring robot.
#Speaking
🔛@English_Speakers
✅Speaking time
📌This book is written by a certified professional IELTS instructor who scored Band 9.0 in Academic IELTS.
It provides useful tips and strategies for IELTS speaking.
♻️Sharing is caring 😊
#speaking
✅Channel:@cambridgeIELTSbooks
✅Speaking time
✅Here’s a list of prompt words that you can use to help you prepare in speakingpart 2
💠Introductory phrases - when you start your talk
🔹I’m going to talk about...
🔸I’d like to talk about...
🔹I want to talk about...
🔸What I'm going to talk about is...
🔹I'm going to describe...
💠Developing phrases - when you want to expand your argument:
🔸First of all...
🔹Secondly,...
🔸Additionally,...
🔹Another thing...
🔸Another reason why...
🔹What’s more,...
💠Background phrases - when you want to add some detail
🔹It's near...
🔸It happened...
🔹It took place...
🔸It’s been going on for/since...
🔹At that time...
#speaking
♻️Sharing is caring🤓
✅Channel: @cambridgeieltsbooks
☝🏻Speaking: Using Fillers and Discourse markers.
✅When we speak we often use words called “Fillers” such as:
👉🏻Let me see / you know / well / yeah
❗️Caution: Do not over use fillers because it will cause problems with your fluency score in the exam.
“You know” is very common when native speakers are talking, It is casual and informal and most people don’t realise they are saying it. It sounds like “ya know” …but do not overuse this, certainly do not use this in writing.
These sounds and phrases make the conversation more natural and less robotic… but you have to make sure they are natural to you otherwise it sounds like you are just memorising everything.
👌🏻Share this with your friends! and help them learn IELTS effectively!
#speaking
@English_easyly_learn
Is this article helpful?
✅Real Speaking Test
IELTS Speaking test in Uzbekistan - October 2018
Interview
🔸 What is your full name?
🔸 Can I see your ID?
🔸 Where are you from?
🔸 Do you work or study?
🔸 What do you do?
🔸 Do you like working with people or on your own?
🔸 Why is that?
🔸 Is it good to let teenagers have part-time jobs? Why?
🔸 Do you have problems with noise?
🔸 Does noise affect your work? How?
Cue Card
Talk about things that you do to save money for a goal. Please say
🔸 What is the goal?
🔸 How do you save money?
🔸 When do you do it?
🔸 How well does this work for you?
Discussion
🔸 Have you shared this way of saving money with anyone?
🔸 Is it important to teach children to save money?
🔸 Who is responsible for teaching children about saving money?
🔸 What are the natural resources that you think we waste the most?
🔸 Do you think technology might help control this?
🔸 What will happen if people don’t change their habits of using natural resources?
🔸 Why do you think so?
A Friendly Reminder 🤝
Try to speak at least more than the examiner. If you are asked a question using one sentence, respond with two or more. And never give short, uncommunicative replies, Typically, you will be asked about everyday topics, such as work, studies, sport, family and so on. So you should try answering IELTS Speaking questions before the exam. You will be surprised how simple they are! You just need to learn appropriate vocabulary and understand what answers you will give🤓
❤️ Note: Record your answers in order to check your pronunciation and work on it, if you made pronuncing errors😉
🙄 I hope you are enjoying my posts, So they are so helpful in preparing for the official IELTS test. I believe you guys will take too score from IELTS! By the way, I always try to send really useful posts to my channel! If you like them, then share them 😊
#speaking
✅Real Speaking Test
IELTS Speaking test in Uzbekistan - September 2018
Interview
🔸 What is your full name?
🔸 Can I see your ID?
🔸 Where are you from?
🔸 Do you work or study?
🔸 Do you live in a flat or a house?
🔸 Describe your place.
🔸 Is there any celebrity in your country that you like?
🔸 Do you read about celebrities?
Cue Card
Talk about a person you have recently met and would like to know more about.
🔸 Who is that person?
🔸 How did you meet him/her?
🔸 Why would you like to know more about that person?
Discussion
🔸 Let’s talk about relationships and friendship.
🔸 Do you agree that real friends are only made at young age?
🔸 Why could a friendship end?
🔸 Is it easier or only possible to make friends with people sharing similar interests?
🔸 What situations could make it easier for people to get to know one another?
A Friendly Reminder 🤝
Try to speak at least more than the examiner. If you are asked a question using one sentence, respond with two or more. And never give short, uncommunicative replies, Typically, you will be asked about everyday topics, such as work, studies, sport, family and so on. So you should try answering IELTS Speaking questions before the exam. You will be surprised how simple they are! You just need to learn appropriate vocabulary and understand what answers you will give🤓
❤️ Note: Record your answers in order to check your pronunciation and work on it, if you made pronuncing errors😉
I hope you are enjoying my posts, By the way, they are so helpful in preparing for the official IELTS test. I believe you guys will take too score from IELTS! So, if you like them, then share them 😊
#speaking
@English_easyly_learn
✅Real Speaking Test
IELTS Speaking test in Uzbekistan - September 2018
Interview
🔸 What is your full name?
🔸 Can I see your ID?
🔸 Where are you from?
🔸 Do you work or study?
🔸 Do you live in a flat or a house?
🔸 Describe your place.
🔸 Is there any celebrity in your country that you like?
🔸 Do you read about celebrities?
Cue Card
Talk about a person you have recently met and would like to know more about.
🔸 Who is that person?
🔸 How did you meet him/her?
🔸 Why would you like to know more about that person?
Discussion
🔸 Let’s talk about relationships and friendship.
🔸 Do you agree that real friends are only made at young age?
🔸 Why could a friendship end?
🔸 Is it easier or only possible to make friends with people sharing similar interests?
🔸 What situations could make it easier for people to get to know one another?
A Friendly Reminder 🤝
Try to speak at least more than the examiner. If you are asked a question using one sentence, respond with two or more. And never give short, uncommunicative replies, Typically, you will be asked about everyday topics, such as work, studies, sport, family and so on. So you should try answering IELTS Speaking questions before the exam. You will be surprised how simple they are! You just need to learn appropriate vocabulary and understand what answers you will give🤓
❤️ Note: Record your answers in order to check your pronunciation and work on it, if you made pronuncing errors😉
I hope you are enjoying my posts, By the way, they are so helpful in preparing for the official IELTS test. I believe you guys will take too score from IELTS! So, if you like them, then share them 😊
#speaking
@English_easyly_learn
✅Real Speaking Test
IELTS Speaking test in Uzbekistan - September 2018
Interview
– What is your full name?
– Can I see your ID?
– Where are you from?
– Do you work or study?
– What subject are you studying?
– Do you use public transport?
– Can you describe the transportation system in your city?
– What can be improved in the current system?
– What is your childhood experience of public transport?
Cue Card
Describe an occasion when you ate something completely new.
Please say
– What was it?
– Where and when was it?
– Why did you eat it?
Discussion
– Let’s talk about food.
– What is different in the food culture of some countries?
– What are nutritious foods that you know?
– Do you think food patterns are changing nowadays?
– Why is that?
A Friendly Reminder 🤝
Try to speak at least more than the examiner. If you are asked a question using one sentence, respond with two or more. And never give short, uncommunicative replies, Typically, you will be asked about everyday topics, such as work, studies, sport, family and so on. So you should try answering IELTS Speaking questions before the exam. You will be surprised how simple they are! You just need to learn appropriate vocabulary and understand what answers you will give🤓
❤️ Note: Record your answers in order to check your pronunciation and work on it, if you made pronuncing errors😉
I hope you are enjoying my posts, By the way, they are so helpful in preparing for the official IELTS test. So, if you like them, then share them 😊
#speaking
@English_easyly_learn
✅Real Speaking Test
IELTS Speaking test in Uzbekistan – September 2018
Interview
– What is your full name?
– Can I see your ID?
– Where are you from?
– Do you work or study?
– Where do you study?
– Will you continue to live there?
– Do you like plants?
– Do you think plants make good gifts?
– Do you have any knowledge about plants?
Cue Card
Talk about your favourite comedy actor/actress. Please say
– Who is he/she?
– What do you like about him/her?
– Is he/she the same in real life?
Discussion
– What places would you like to visit?
– Why would you like to visit that place?
– Who would you go there with?
– Do your parents always accompany you?
– What are the various pastimes of people in your country?
– Do you think leisure activities are different for men and women?
– Do you think age has something to do with a choice of activities?
A Friendly Reminder🤝
Try to speak at least more than the examiner. If you are asked a question using one sentence, respond with two or more. And never give short, uncommunicative replies, Typically, you will be asked about everyday topics, such as work, studies, sport, family and so on. So you should try answering IELTS Speaking questions before the exam. You will be surprised how simple they are! You just need to learn appropriate vocabulary and understand what answers you will give🤓
❤️ Note: Record your answers in order to check your pronunciation and work on it, if you made pronuncing errors
I hope you are enjoying my posts, By the way, they are so helpful in preparing for the official IELTS test. So, if you like them, then share them🤘
#speaking
@English_easyly_learn
✅Speaking time
Describe a time when you received good service in a restaurant or cafe
You should say
🔸when this was
🔸what kind of restaurant or cafe you were in
🔸why you were there
🔸and why you thought the service was go
SAMPLE:
I’m going to talk about the service we received in a restaurant where a friend of mine celebrated his birthday last Saturday evening.
My friend had decided to book a table in a local Italian restaurant for the party. It was a small, family-run place, but this made it feel all the more welcoming and inviting. The atmosphere was great and the service was excellent.
As I mentioned, I went to the restaurant because a friend had invited me to celebrate his birthday there. There were about ten of us there - mostly people I’ve known since university - and it was really nice to catch up with them and chat about what we had all been up to since we last got together.
The service was good because the restaurant staff and owners really made us feel at home. From the moment we walked in, the waiters were polite, approachable and attentive; nothing was too much to ask. They brought out a cake with candles and sang ‘Happy Birthday’ to my friend, although we hadn’t asked them to do this, and the restaurant owners kept checking whether we were happy with everything, which was thoughtful of them. All in all, the delicious food, good company and friendly service made it an unforgettable evening.
✅Vocabulary
🔸atmosphere was great
🔸welcoming and inviting
🔸service was excellent
🔸made us feel at home
🔸polite, approachable and attentive
🔸nothing was too much to ask
🔸 thoughtful
🔸an unforgettable evening.
#speaking
@English_easyly_learn