雖然這篇down動詞鄉民發文沒有被收入到精華區:在down動詞這個話題中,我們另外找到其它相關的精選爆讚文章
在 down動詞產品中有133篇Facebook貼文,粉絲數超過4萬的網紅Alexander Wang 王梓沅英文,也在其Facebook貼文中提到, 【乾,我講英文有夠乾】: 看完「魷魚遊戲」只講得出 It’s great. 嗎? 大家也看了魷魚遊戲了嗎?很多紐約的 #美國朋友 跟我說 ・It’s way better than the Hunger Games. ・I binged the whole 9 episodes (一次追了九集)...
同時也有26部Youtube影片,追蹤數超過878的網紅時事英文 Podcast by ssyingwen,也在其Youtube影片中提到,每個運動最合適的服裝是什麼?選手能不能自由選擇讓自己最舒服、最能夠發揮的衣服?被吹捧為史上最性別中立的東京奧運,性別議題再次被放到聚光燈下,除了選手的服裝規定還有更廣泛的,男女類別該如何定義呢? 📝 訂閱講義 & 朗讀稿 (只要 $88 /月):https://bit.ly/ssyingwe...
「down動詞」的推薦目錄
- 關於down動詞 在 辣媽英文天后 林俐 Carol Instagram 的最佳貼文
- 關於down動詞 在 Amanda Tann Instagram 的最讚貼文
- 關於down動詞 在 辣媽英文天后 林俐 Carol Instagram 的最佳貼文
- 關於down動詞 在 Alexander Wang 王梓沅英文 Facebook 的最佳解答
- 關於down動詞 在 Hapa Eikaiwa Facebook 的最佳解答
- 關於down動詞 在 91 敏捷開發之路 Facebook 的最讚貼文
- 關於down動詞 在 時事英文 Podcast by ssyingwen Youtube 的最佳貼文
- 關於down動詞 在 Hapa 英会話 Youtube 的精選貼文
- 關於down動詞 在 NextepちぐさのYouTube英会話教室 Youtube 的最佳解答
down動詞 在 辣媽英文天后 林俐 Carol Instagram 的最佳貼文
2021-09-16 07:13:19
今晚, 我想來點⋯⋯EEC Class 4️⃣ 佐五大句型和新聞英文😋 這次俐媽穿了五顏六色珠珠(beads)裝飾的衣服, 因為我們要學各種顏色的英文片語呀! blue, red, white, black, green, purple, yellow, gold...❤️🧡💛💚💙💜🖤🤍🤎 我們...
down動詞 在 Amanda Tann Instagram 的最讚貼文
2021-07-26 22:24:04
Tann佢發噏瘋 以下係今日短片同大家分享既2個英文詞語: Leverage (名詞)- 有本錢,佔上風 例句:I think we have a lot of leverage here. We don’t have to come down on the quotation. 我覺得我地...
down動詞 在 辣媽英文天后 林俐 Carol Instagram 的最佳貼文
2021-03-31 12:36:51
最近幫高一孩子做月考複習AED, 幫高二孩子錄影回測解析, 發現不約而同都考了「倒裝句」。 俐媽就幾兩個最重要的倒裝句解說一下, 也附上我在閱讀英文小說時看到的句子。 文法, 不是只有在課文中, 也不是只是為了應付考試, 是真真實實交織在你的閱讀理解裡。 ————————————————————...
-
down動詞 在 時事英文 Podcast by ssyingwen Youtube 的最佳貼文
2021-08-01 18:37:43每個運動最合適的服裝是什麼?選手能不能自由選擇讓自己最舒服、最能夠發揮的衣服?被吹捧為史上最性別中立的東京奧運,性別議題再次被放到聚光燈下,除了選手的服裝規定還有更廣泛的,男女類別該如何定義呢?
📝 訂閱講義 & 朗讀稿 (只要 $88 /月):https://bit.ly/ssyingwen_notes
👙 延伸閱讀:https://ssyingwen.com/ssep41
🖼️ IG 單字卡: https://bit.ly/ssyingwenIG
♥️ 支持這個 podcast:https://bit.ly/zeczec_ssyingwen
📪 合作邀約:ssyingwen@gmail.com
———
朗讀內容來自New York Times
👉 選讀片段文字: https://www.facebook.com/groups/ssyingwen/posts/275140701038843/
👉 完整文章:https://cn.nytimes.com/style/20210730/olympics-dress-codes-sports/zh-hant/dual/
———
本集 timestamps
0:00 Intro
0:33 第一遍英文朗讀
3:05 新聞 & 相關單字解說
17:54 額外單字片語
23:48 第二遍英文朗讀
———
本集提到的單字片語:
Milestone 里程碑
IOC (international olympics committee) 國際奧委會
Gender-balanced 性別平衡
Gender equality / Gender parity 性別平等 / 性別同等
Mixed-gender events 混性別的賽事
Track and field 田徑
Mixed relay 男女混合接力賽
Backstroke 仰式
Butterfly 蝶式
Breaststroke 蛙式
Freestyle 自由式
Leotards 露腿緊身衣
Unitard 長褲型緊身衣
Beach handball 沙灘手球
Objectification / objectify 物化
Sexism 性別歧視
Appropriate 合適的
Feminine 女性化
Play down 淡化
Clichéd 老套刻板的
Femininity 女性氣質
Unattractive 沒有吸引力
Masculine 男性化
Hyperfeminine 過於女性化
Grit 勇氣
Caveat 限制條款
Offensive 令人反感、會冒犯人的
Subjective 主觀的
Facilitate 助長
Sexual abuse 性侵
Debate 辯論
Aquatic sports 水上運動
Water polo 水球
Diving 跳水
Choice 選擇
Testosterone 睪固酮
Skateboarder 滑板手
Speak, speaks, speaking, spoke, spoken up
————
#podcast #東京奧運 #性別平衡 #學英文 #英文筆記 #英文學習 #英文 #每日英文 #托福 #雅思 #雅思英語 #雅思托福 #多益 #多益單字 #播客 #英文單字卡 #片語 #動詞 #國際新聞 #英文新聞 #英文聽力 -
down動詞 在 Hapa 英会話 Youtube 的精選貼文
2021-06-26 09:00:20今回はアメリカ育ちのバイリンガルのChristianと学校では教えてくれない「up」と「down」の使い方について話し合います。
📝今日のレッスンのまとめ📝
===================================
1. Up for ~の正しい使い方 0:34
2. 世代で異なる Up と Down 1:49
3. I'm down の正しい使い方 3:22
4. 若い世代は down を使う? 4:46
5. Downを使った会話例 6:50
<動画に協力してくれた先生の紹介>
👨 Christian先生
https://cafetalk.com/tutor/profile/?id=127788
⭐️Hapa School夏学期は7月12日スタート!お申し込み受付中⭐️
Hapa英会話のオンラインスクール『Hapa School』が、夏学期受講生の募集を開始しました!7月12日よりスタートする「Hapa School-Summer 2021-」では、ネイティブの日常会話で頻繁に使われる動詞と前置詞の組み合わせを8週間にわたりお届けします。皆様のご受講を心よりお待ちしております。
https://hapaeikaiwa.com/school/
**【言われたら不快になる!?】“That's too bad”の正しい使い方**
“Too bad”は日本語にすると「残念ですね」という意味になり同情を表すフレーズとして使われますが、使い方や状況によっては皮肉や嫌味に聞こえてしまうことがあるので気をつけないといけない表現です。今日は、“That’s too bad”が持つ意味と使い方をご紹介します。https://youtu.be/fACB17Z18Sw
===================================
☆【Hapa Buddies】Hapa英会話オンラインコミュニティ
英語が好きな仲間と一緒に楽しく英語を学びませんか?
https://hapaeikaiwa.com/buddies/
☆インスタやツイッターでも日常会話で使える実践的なフレーズを毎日投稿しています!
・インスタ: https://www.instagram.com/hapaeikaiwa
・ツイッター:https://twitter.com/hapaeikaiwa
☆ Spotifyオリジナル番組「English Mindset」
英語力ゼロで海外に飛び出したアスリートやクリエーター、留学経験なしの経営者などをゲストに迎え、インタビューを通して英語習得のカギとなった彼らの思考ロジックに迫る番組。 http://spoti.fi/HapaENGLISHMINDSET
☆【Hapa英会話Podcast】生の英語を楽しく学べる
毎週金曜日、台本を一切使わないアメリカ人のリアルな日常英会話を配信。
http://hapaeikaiwa.com/podcast/
☆【Hapa英会話メルマガ】1日1フレーズ!生英語
通勤中ちょとした合間を利用して無理なく英語が学べるメルマガ『1日1フレーズ!生英語』平日の毎朝6時に配信。http://hapaeikaiwa.com/mailmagazine/
#Hapa英会話
#日常英会話
#ロサンゼルス -
down動詞 在 NextepちぐさのYouTube英会話教室 Youtube 的最佳解答
2021-01-21 07:04:270:00 Lesson start
0:31 go about
1:05 go after
1:41 go ahead
2:13 go along
2:47 go around /in
3:12 go away
3:37 go back
3:58 go down
4:40 go far
5:05 go bad
5:26 go on and on
5:55 go over
6:17 go through
この句動詞のワークシートとカードは
https://peraichi.com/landing_pages/view/h8h6c
プラスワン英語法・留学に関するお問い合わせは下記よりお問い合わせください。
https://nextep-japan.com/contact/
ちぐさの大人英語レッスンは↓
(英会話)https://plus1english.com
(発音塾)https://plus1english.com/phonics/
大人気の速音トレーニングは↓
https://youtu.be/Fp6g2dpzDAY
発音とリスニングが一気に身につくトレーニングは↓
https://youtu.be/WUeYlbQMrFg
ちぐさの
Instagram→https://www.instagram.com/nextep/
twitter→https://twitter.com/nextepjapan
#英語
#リスニング
#プラスワン英語法
down動詞 在 Alexander Wang 王梓沅英文 Facebook 的最佳解答
【乾,我講英文有夠乾】: 看完「魷魚遊戲」只講得出 It’s great. 嗎?
大家也看了魷魚遊戲了嗎?很多紐約的 #美國朋友 跟我說
・It’s way better than the Hunger Games.
・I binged the whole 9 episodes (一次追了九集).
・It’s graphically brutal. (超級血腥殘忍)
・Totes worth a watch. (Totes 是 totally 的口語寫法)
但當我問問身邊的人會怎樣用英文聊這部劇時,台灣人的對這部影集的描述常常是:
・It’s really good.
・I liked it!
・You should watch it.
・I highly recommend it.
當然,這 4 句話在語意上、用法上沒有問題。但如果你想要用得更 #道地、#到位,請繼續讀下去。
1️⃣ 傳統無啥用的 solution:
面臨這樣的問題,傳統上不少英文老師會建議你去查閱同義字字典,去 #升級自己會的形容詞。但,其實不斷用 It’s adj. 的方式
或去升級 “like” 這個動詞,調成 I enjoyed watching it. 只是繼續圍繞在相似的想法裡頭,英文還是 #沒有質的變化。�
2️⃣ 從「#思維模板」、母語人士的「#說話習慣」下手:
其實不管是魷魚遊戲、還是 The Hunger Games、還是其他相似種類 (genre) 的電影,英美國人會講述的方式「大同小異」,並 #不會因人而異。這樣的好處就是我們有個範圍可以學習這些「思維模板」。不只是一兩個字的片語、搭配詞,而是整體「表達的方向」。
例如:
✔︎ 在表達從第一集就ㄉㄧㄠˊ住時,你可以說:�
I was hooked from the first episode.
It had me hooked from the start.
✔︎ 在表達很棒時,他們不會只說 It’s great. 他們會說
It's hands down one of the best series I’ve seen on Netflix.
One of the best shows I’ve seen in a long time.
✔︎ 其他正向表述、讚揚的講法還包含:
It’s worth a watch for sure! (值得一看)
It has set a high bar for other movies of this genre. (把標準提得很高)
It has definitely lived up to the hype! (真的如大家所說般地好 )
之所以為思維模板,就是母語人士ㄧ要描述電影觀後感時,
#幾乎都會馬上想到這些用法。我們不應該再走「中文想這樣講 — > 翻成英文」這樣的路。
記得,英文要學好不是要變成「逐字翻譯大師」。要從慣用思維、表達習慣下手。
🔥 如果你 / 妳喜歡這樣從思維下手,學習語塊不學單字的學習方式,歡迎你加入我在好學校 (Hahow) 上開設的線上課程 #3D英文筆記術。 站上大折扣剩下最後 3 天,不要錯過囉!
https://bit.ly/3mYj83s
(輸入折扣碼 GR2183,單堂 88 折、兩堂以上 83 折。)
Photo credit: Netflix
down動詞 在 Hapa Eikaiwa Facebook 的最佳解答
=================================
日常会話で役立つ「Make」の用法(中級編)
=================================
先日のコラム『日常会話をよりスムーズにする「Make」の用法35選(https://hapaeikaiwa.com/?p=23243)』では、makeを使った35のフレーズをご紹介しましたが、今回はmakeを使った日常表現「中級者編」をご紹介します。
--------------------------------------------------
1) Make out
--------------------------------------------------
Make out は「見える」や「聞こえる」、「読める」など何かを認識したり、理解することを意味します。例えば、友達に「あの標識なんて書いてあるか見える?」と聞く場合は「Can you make out that sign?」、その質問に対して「遠すぎて見えないよ」と返事をする場合は「It’s too far. I can’t make it out.」と言います。この表現は一般的に、「〜が見えない」や「〜が判読できない」のように、否定形で使われます。
その他、make out は「イチャイチャする」を意味するスラングとしても使われます。この表現にはディープキスをする意味合いもあり、特にパーティーでカップルがイチャついているのを見たときに、「Omg. Tom and Lisa are making out!(うわ!トムとリサがイチャイチャしている)」のように使われます。なお、キス以上の行為はmake outには含まれません。
<例文>
What does that sign say? Can you make it out?
(あの標識なんて書いてある?読める?)
I couldn’t make out what he said. Did you catch it?
(彼が言ったこと聞こえなかったよ。彼がなんて言ったか理解できた?)
I heard Peter and Megan were making out at the party last night.
(昨晩、ピーターとメーガンはパーティーでイチャついていたらしいよ)
--------------------------------------------------
2) Make it quick
--------------------------------------------------
Make it quickは直訳すると「早く作ってね」になりますが、日常会話では急いでいるときに相手に対して「早く済ませてね」や「急いでね」の意味で使われる話し言葉です。使い方はhurry upと似ており、例えば電車が出発する間際に友達が「I have go to the bathroom.(トイレに行かないと)」と言ったときに、「Make it quick. The train is leaving in 5 minutes.(急いでね。電車は5分で出発するから)」という具合に命令形で使われることが多いです。「すぐに済ませるから」は「I’ll make it quick.」と言います。
<例文>
〜会話例1〜
A: Do I have time to get changed?
(着替える時間はある?)
B: Yeah, but make it quick. The show is starting in 20 minutes.
(ええ、でも急いでね。ショーは20分で始まるから)
〜会話例2〜
A: Do you have a minute? I know you’re busy. I’ll make it quick.
(ちょっといいですか?忙しいのは分かっているので、すぐに済ませます)
B: Yeah, what’s up?
(ええ、どうしました?)
--------------------------------------------------
3) Make sense
--------------------------------------------------
Make sense は物事を理解したときに使われ、分からなかったことが明らかになったり、何かに納得したことを表します。I understand と意味は似ていますが、make sense は話にしっかり筋が通っていて理解できるニュアンスがあり、「分かりましたか?」は「Does it make sense?」、「ええ、理解できました」は「Yeah, that makes sense.」と言います。逆に、話が矛盾していたり、筋が通っていなかったり、理屈がおかしい時は、「It doesn’t make sense.」と言います。
<例文>
That makes sense. Thanks for the clarification.
(納得しました。説明ありがとうございました)
That makes sense. No wonder he was so upset.
(なるほどね。どおりで彼はあんなに腹を立てていたんだ)
What she’s saying doesn’t make sense. She’s contradicting herself.
(彼女が言っていることは筋が通っていません。矛盾したことを言っている)
--------------------------------------------------
4) Make up
--------------------------------------------------
この表現は、喧嘩をした相手と仲直りすることや、もめ事を丸く収めることを表し、喧嘩をした友達同士やカップルが仲直りする状況で使われます。例えば、「私はジョンと仲直りした」は「I made up with John.」、「マイクとマヤは仲直りした」は「Mike and Maya made up.」という具合に使われます。ちなみに、make up は「埋め合わせをする」を意味し、例えば、彼女の誕生日をうっかり忘れてしまい「ごめん。埋め合わせするから」と言いたい時は「I’m sorry. I’ll make it up to you.」と表現します。
その他、make upは歌や詩、ストーリーなどを自作する意味としても使われます。例えば、「歌を作りました」は「I made up a song.」、「詩を作りました」は「I made up a poem.」のように表します。
<例文>
They’re on good terms now. They made up with each other.
(彼らは仲直りしたので、今は仲良くしています)
I got into an argument with Matt but we made up.
(私はマットと喧嘩しましたが、仲直りしました)
I’m sorry about last night. I’ll make it up to you.
(昨日の夜はごめん。埋め合わせするから)
Wow, did you make up that song on the spot?
(すごい、その曲、即興で作ったの?)
--------------------------------------------------
5) Make a difference
--------------------------------------------------
Make a differenceを直訳すると「違いを作る」ですが、この表現は、ある行動によってポジティブな変化や結果が生まれることを意味します。例えば、「留学経験が英会話力に大きな影響を与えた」と表現する場合は「Studying abroad really made a difference」と言うことができます。逆に、効果やインパクトがない場合は、「It makes no difference.」または「It doesn’t make any difference.」と表現します。
その他、It makes no differenceは「どっちいでもいい」を意味し、特に、選択肢が2つある状況でどちらを選択しても気にしないといったニュアンスが含まれます。
<例文>
Writing down your goals really makes a difference. You should try it.
(目標を書き出すと効果あるから。やってみな)
A lot of people don’t vote because they think it makes no difference.
(多くの人は投票しても意味がないと思っているので投票しません)
I can do Korean food or Japanese food. It doesn’t make a difference to me.
(韓国料理でも日本食でも、どっちでもいいよ)
--------------------------------------------------
6) What do you make of
--------------------------------------------------
What do you make of ____ は相手の意見や考えを尋ねるときに使われ、 What do you think of ____ の言い換え表現として使われます。例えば、「これどう思う?」は「What do you make of this?」、「あの映画についてどう思う?」は「What do you make of that movie?」という具合に使われます。その他、相手がある物事をどのように解釈するのかを尋ねるときにも使われ、例えば、不可解なメッセージが届いたときに「What do you make of this message?(このメッセージをあなたはどう解釈しますか?)」と表現します。
<例文>
What do you make of the idea she proposed?
(彼女が提案したアイデアについてどう思いますか?)
Tony sent me a weird email. Take a look at it. What do you make of it?
(トニーから変なメールが届いたんだけど、ちょっと見てみて。どう思う?)
I don’t know what to make of him. But there’s something about him that seems shady.
(彼についてどう思うか分かりません。でも、なぜだか分からないけど怪しい感じがするんだよね)
--------------------------------------------------
7) Make a wish
--------------------------------------------------
Make a wish は「願い事をする」を意味します。例えば、誕生日パーティーの主役に「ろうそくを吹き消して願い事を言って」と言いたい場合は「Blow out the candles and make a wish.」と言います。その他、「欲しいものリストを作る」は「Make a wish list.」と言います。
<例文>
Happy birthday! Did you make a wish?
(お誕生日おめでとう。願い事をした?)
It’s 11:11. Make a wish guys!
(11時11分だよ。願い事をして!)
I made my Amazon wish list and emailed it to you.
(Amazonの欲しいものリストを作ってメールしたよ)
--------------------------------------------------
8) Make fun of
--------------------------------------------------
Make fun ofは人をからかったり、馬鹿にしたりすることを表します。相手をからかって本当に困らせる時と友達同士が冗談でからかい合う時、両方の状況で使えます。「彼は彼女をからかった」と言いたい場合は「He made fun of her.」と言い、made fun of の後にからかう対象が入ります。
<例文>
I've known him since I was a kid. We make fun of each other all the time.
(彼とは幼なじみで、いつもお互いをからかい合います)
She's upset because Jack made fun of her pronunciation.
(ジャックは彼女の発音を馬鹿にしたので、彼女は腹を立てています)
My friends always make fun of me because I can't eat hot food.
(私は猫舌だから、いつも友達にからかわれるんだ)
--------------------------------------------------
9) Make up one’s mind
--------------------------------------------------
Make up one’s mind は「決める」や「決心する」を意味し、decideのより口語的な言い方です。どうしていいか分からない時や、優柔不断でなかなか決断できない状況でよく使われ、優柔不断な友達に対して「決めて!はっきりして!」と言う場合は「Make up your mind!」、そして「どうしていいか分からないよ。迷う!」と返事する場合は「I can’t make up my mind!」と言います。
<例文>
Did you make up your mind or are you still thinking about it?
(決まった?それともまだどうするか考えているの?)
I don’t know what to do. I can’t make up my mind.
(どうしていいか分からないよ。迷うな)
I made up my mind. I’m going to quit my job and start my own business.
(決心しました。仕事を辞めて自分のビジネスを始めます)
--------------------------------------------------
10) Make one’s day
--------------------------------------------------
誰かのおかげで幸せな気分になったり、相手の一言で励まされたとき英語では「You made my day.」という表現を使うことがよくあります。直訳すると「あなたのおかげで良い一日になったよ」になり、相手に感謝の気持ちを伝えるときに使われ、「Thanks. You made my day!」のようにセットで使われます。その他、試験に合格したり、面接に受かったりなど、良い報告を受けたり嬉しい出来事があったときは「That made my day!」と言います。ちなみに、dayだけではなく「That made my week」、「That made my month.」、「That made my year」と言うこともできます。
<例文>
Thanks for the gifts. You made my day.
(プレゼントありがとう。おかげで最高の1日になったよ)
Thank you for the call. You really made my day.
(電話してくれてありがとう。おかげで最高の1日になったよ)
I just found out I got into the MBA program. I'm so excited! That made my year!
(MBAプログラムに入れることが分かったよ。めっちゃ嬉しい!今年最高のニュースだ!)
ブログ記事URL:https://hapaeikaiwa.com/?p=23259
~~~~~~~~~~~~~~~~~~~
無料メルマガ『1日1フレーズ!生英語』配信中!
通勤・通学などのちょとした合間を利用して英語が学べるメルマガ『1日1フレーズ!生英語』を平日の毎朝6時に配信中!ただ単にフレーズを紹介しているだけではなく、音声を使った学習プロセスが組み込まれているので、メルマガを読むこと自体が学習方法!
https://hapaeikaiwa.com/mailmagazine/
~~~~~~~~~~~~~~~~~~~
down動詞 在 91 敏捷開發之路 Facebook 的最讚貼文
【從學員練習影片觀察到一個關於 TDD 的有趣現象】
極速開發的課後練習作業,雖說重點是放在極速開發要學習的技巧與刻意練習的模型,但開發的方式、順序也是刻意安排成類似 TDD 的進行方式,來讓生產力最大化(TDD 本來就是幫助開發的,不是幫助測試的)
我從2位第一次上我課的學員(當然就是 #極速開發,代表他們沒上過#單元測試 跟 #TDD與持續重構),雖然他們是照著示範影片、上課教學用 TDD 在寫整個 tennis 的過程,但從他們執行測試的時間點就可以發現:
「他是用測試來驗證 production code 的正確性」,即使他先寫了測試,也不先執行,沒有看到紅燈,每次都等到 production code 寫完了,應該要綠燈時,才執行測試。
而其他上過 TDD 課的同學 ,或是上過單元測試的同學,知道測試是用來描述情境,如果現在「加入的這個情境是新的需求或需求異動,代表目前 production code 還不支援這個情境,執行測試跑出的紅燈,就是等等 production code 要完成的 #目標」
test-frist 從來都只是 TDD 其中一個小小的衍生產物,而不是全貌。TDD, 測試驅動開發 從來都是一種開發方法,而不是測試方法。
總有些人老愛把 TDD 拿來跟測試相提並論,就總是喜歡把 test-first 當作靶子打,覺得違反人性跟直覺,覺得先寫測試在很多情況下是浪費時間或是不 work,可能拿來跟一堆測試的方法論相提並論,或總是只拿回歸測試的效益來當作 TDD 的整體。抑或是陷入 isolation unit test 與 integration test (其實就是非 isolation 等級、有實際依賴的自動測試)之爭。
```
註:TDD 事實上是可以不是單元測試等級的。
```
要比較正確看待 TDD 的角度,首先要知道它是幫助開發的、它是一種開發方式(當然不是唯一一種,甚至也不會是最好的一種,因為根本沒有最好,只有剛好)
接著要了解 TDD 可能用 IPO 模型還比較貼切,input-process-output,在你開發任何功能之前,你總要先想過這件事。而先想這件事,才是 TDD 的最基本精神。
接著是怎麼把你想好的東西,變成可執行的 spec,我們只是用測試程式來「描述」你腦袋中的「IPO模型」,把 process 的過程當作一個黑箱子。
而這個 IPO 模型在結合成「使用情境」,就會帶來「高易用性 API 的好處」,只有在一開始就先想好怎麼給別人用,最後才會好用。所謂的一開始想好,指的不是預先設計一堆 class,而是 input/output 想清楚期待(一般會結合實例化需求,搭配 Given/When/Then 的 gherkin style 來把前置條件、資料、前提想好,當發生什麼事,應該是怎樣的結果),然後描述它。在紅燈定義清楚目標,綠燈完成 input/output 關係且沒弄壞前面的所有情境後,來針對 process 進行重構(事實上 Kent Beck 的 TDD by Example 更多是用 refactor 來 #完成 process。
```
註:所謂的 output 不一定只有回傳值,包含外部依賴狀態、資料的改變,甚至顆粒度小一點,針對物件導向設計的話,物件內部狀態的改變也算,只是物件內部狀態改變,驗證點要嘛是拿得到內部狀態,要嘛就是要驗證物件哪個行為會因這個內部狀態而有所不同。
```
## 戰 TDD 之前該先做好的功課
要戰 TDD,是不是至少要把 Kent Beck 的 TDD by Example 看完?
要戰 TDD,請不要拿它跟測試方法論來比,那只是一下就被人看破手腳。因為它是個開發方法論。
要戰 TDD,請不要把它的好處只限縮在跟回歸測試、自動測試的比較,因為那只是它的衍生好處,當你試過在白海報紙上 TDD 就懂,TDD 是在釐清你的思緒的同時,又可以以終為始,確保你在 production code 的每一個動作都是為了滿足某個期待的情境。
要戰 TDD,請不要去把 單元測試、整合測試捲進來,那是測試的顆粒度,那是測試的分類,TDD 從來都不是只能限於單元測試。
要戰 TDD,請不要在那邊戰他是 bottom-up ,是直接從程式/class 的角度出發,事實上 TDD 既不是 bottom-up, 也不是 top-down, (書裡面就有講這件事咩),實務上的 TDD 結合倫敦派(GOOS)跟芝加哥派(Classic TDD),會更像 Outside-In 的進行方式,先定義好驗收情境,接著從最外部(也就是使用者看得到的部份)一路把依賴往另一邊的系統邊界推,直到推到系統以外的依賴資源(persistence 或 external API/service)
```
註: ATDD by Example 中 ATDD by Example, Kent Beck 寫的序最後的一段話。
Kent Beck:
「就像我曾說過的,TDD的一個缺點是,它可能會退化為一種用來滿足開發人員需求的編程技能。某些開發人員從更廣泛的角度來看待TDD,輕易在他們測試的不同抽象級別間跳躍。然而在ATDD中不存在歧義,這是一種加強與非編程人員溝通的技術。我們之間良好的協作關係,以及作為這種關係基礎的溝通,能夠使軟件開發更有效率。採用ATDD是向著溝通更清晰這個目標邁進的重要一步,而此書是一本全面又平易近人的入門讀物。」
```
要戰 TDD,請不要只關注在 test-frist,因為他只是用 test 來幫助你 think-first,不要邊寫邊想。然後不要過份依賴或相信你腦袋的能力,把你想好的東西具體化出來,最好可以被直接執行,最好除了你以外每個人執行出來的結果都會一樣(不管是對的,還是錯的)
要戰 TDD, 請不要把論點放在見樹不見林,如果你有看 TDD by Example 的 Part 1, Part 2 那兩個加起來共 24 個章節,就知道一開始就得把當下想到的全貌紀錄在一個「紙本」的 backlog (所謂的紙本,只是要講這並不依賴於任何工具)
而這個需求輪廓的全貌,會隨著你逐漸完成一部分一部分的情境,設計逐漸浮現後,而隨時跟著增減調整。
但不代表 TDD 就是先想到一個測試案例,就直接先幹下去了,那根本是亂搞。
以上這些,都還不是在列 TDD 的好處,而是針對那些從來沒搞懂 TDD 但又愛戰 TDD 的人一點提醒,你戰的很可能是「你誤解的 TDD」。
TDD 還有許多實務上的用途,列上我在譯者序中的一小段:
>> 測試驅動開發(Test-Driven Development, TDD)!一種以測試為開發輔助、以測試來描述需求情境、以測試來當作目標、以測試來表達期望、以測試來驗證疑問、以測試來實驗學習、以測試來溝通協作、以測試來協助設計高易用性 API 的「開發方法」。
譯者序有開放給大家看,請見:https://tdd.best/book/tdd-by-example/
拜託,要戰之前去看一下祖師爺 Kent Beck 對 TDD 的原始見解:https://www.tenlong.com.tw/products/9789864345618?list_name=srh
如果你想正確的使用 TDD 來幫助你在實務上產生許多的價值,帶來許多的好處,尤其是需求釐清、持續重構、小步快跑的部份,最好理解的培訓課就在這:https://tdd.best/courses/classic-tdd-by-example-video-training/
最後我想講一段話:
TDD 從來都不該被導入到團隊中,但它是一種很好的自我鍛鍊與學習的方式,也是一種能用很低的成本來帶來很多好處的開發方法(見下方註腳),然而它也不是適用所有的情況,但它可以讓『完美』變成一個動詞,而非不變的形容詞。
```
註:
Kent Beck 在 DHH 靠腰:《TDD is Dead》 之後寫的一篇反串文:《RIP TDD》
https://www.facebook.com/notes/1063422864115918/
我幾年前的簡易翻譯,通常也是 TDD 可以幫助你解決的問題,如下:
- Over-engineering (過度設計)
- API feedback (改善API的設計與可用性)
- Logic errors (想的跟寫的不一樣,寫的跟需求不一樣)
- Documentation (寫跟維護文件是痛苦的)
- Feeling overwhelmed (找不到切入點)
- Separate interface from implementation thinking (抽象設計)
- Agreement (確保已修正問題的證據)
- Anxiety (改東壞西的擔心受怕)
```
很久沒對 TDD 發表這種長篇大論了,因為不理解、不想理解、不同角度理解的人居多,能真的到各自的塔上用不同角度來看原義,以及實務上用它來幫助解決的問題有哪些的人,真的太少。
大部分人只想針對這個詞彙來攻訐以博得流量跟吸引目光,而不是想著「我可以用它來幫助我什麼」
問題跟需求是中性的,解決問題跟滿足需求的手段與方式有千萬種,不會只有一種,也不會有所謂的對錯,多點角度去了解不同的方法、方式,然後融會貫通,發揮綜效,在實務上用最少的成本與風險來產生最大的價值,這才是真正的目標。
導入敏捷不該是目標,導入 TDD 也不該是目標,目標永遠都是在實務上產生價值、解決問題、滿足需求。