搜尋

搜尋結果

[評] Devil May Cry 5
手機‧電玩
MacauYeah・2019-03-13

DMC系列一向都由出色的華麗連技所稱著,配上但丁的毒舌及帥氣大劍、維吉爾冷酷太刀姿態及空間斬、尼奧大魔手及油門控制的大刀,中二病發揮到極限。 故事就不講啦,太長了,只講講今集DMC5的玩後感: 每一集的劇情都不是重點,因為有好多太中二甚至不合理的地方太多,今集也不例外。筆者個人認為,今集就好像沒完成的遊戲似的,除了在序章打死維吉爾所獨發的隱藏結局外(平行世界的不可能結局),其餘正常結局就好像死不斷氣似的。 而遊戲所說的合作等同沒有,因為整個遊戲,只有一個地方短短幾分鐘有合作打斗。劇情又不停在3個主角的視點不停轉換,但合作基本沒有。 遊戲的優點: 第一,仍然酷炫的連技; 第二,但丁的多種武器系統、V的召喚系統、尼奧多樣的機械手臂都是吸引人的地方,新鮮感大增; 第三,BOSS的威嚇感都不錯,比第四代要強很多; 然後輪到缺點: 第一,明明的中文版DMC5 居然要用特典一次性DLC來安裝,但遊戲裡本來就包括英文、法文、俄文、印度文、德語等等。就只係沒有中文,簡直是死罪。 第二,技能升級所需紅魂數量過多,要逼你去刷,不然就只能使用小部分的技能來通關。但每一個英雄都有一個需要300萬的紅魂來解鎖,3個合計900萬,這不是網遊只是一個單人遊戲,所以這不太合理的,這更像是刻意為加長遊戲時間而設整的設定。 第三,重複刷的意欲不夠!筆者首次爆機後,完全沒有意欲去玩第二次,可能愛不夠。 所以今集以動作遊戲爽下就好,雖然官方沒有公佈DLC劇情,但筆者估計這遊戲很需要出DLC來補完。要玩就等出完整版再玩,不然見到結局就怒了~~不爽。 想睇遊戲直播,記得訂閱我地嘅 Twitch / YouTube / Facebook

Spring Boot 08 - 多情境設置 maven profile 與 application.properties
科技新知
MacauYeah・2025-02-25

為何要有不同的建構 Profile Profile這一字,很難在IT技術文章中翻譯,它在Spring boot中的語意大概就是一個設定一個固定的運行環境參數合。例如我們做開發時,有些只想在開發環境中出現的設定,諸如測試用的資料庫、細緻一點的LOG層級,都寫在dev profile中。當換成正式環境時,我們也有一套全新的配置,而且會集中寫在prod profile中。把這些參數設定從程式碼邏輯中抽離,可以讓你的程式碼簡潔很多,也方便對比不同環境的設定。 application.properties Spring Boot (Spring Boot Starter) 就提供了 Profile 管理。我們可以為一個Spring Boot 模組設定多個不同的 application.properties src/main/resources/application.properties 為預設 (default profile) src/main/resources/application-uat.properties 為驗收環境專用 src/main/resources/application-prod.properties 為投產環境專用 src/main/resources/application-test.properties 為自動測試專用 在執行程式時,我們只要動改變啟動的參數spring.profiles.active,例如 mvn spring-boot:run -Dspring-boot.run.arguments="--spring.profiles.active=uat" # or mvn package && java -jar target/YOUR_JAR_NAME --spring.profiles.active=uat Spring Boot 就會指定載入 application-uat.properties 的內容,如果有些值沒有定義,它會再追溯到預設的 application.properties中。 在運行中改變啟動參數的情況可能不多,筆者更常用的情況是在編譯期間產生多個 Jar 檔,不同 Jar 檔指定不同的環境,方便系統管理員取用測試。想做到這個效果,我們需要在 application.properties 中,我們還需要加入一句spring.profiles.active=@active.profile@,並在編譯工具中加入這個變量,例如筆者常用的 maven pom.xml 中,就會有這一串設定 它在 maven clean compile package 時,就已經可以在JAR中填入固定spring.profiles.active。那麼每次執行時,都會是指定的profile。 mvn package -Puat java -jar target/YOUR_JAR_NAME 在這個例子中,JAR 中的 spring.profiles.active 就會固定是uat,我們不需要在啟動參數中加入字眼。 如果大家不會碰到混合Profile的話,其實上述的資訊已經足夠大家應付很多情境。 但當大家有追求,需要寫自動測試,有機會不同自動測試需要啟用不同的 Profile ,更有可能出現混合Profile的情況,這件事就變得很複雜。我們需要繼續深入了解一下 Spring Boot 的覆蓋機制,下面將會以測試方式導出結論。 如果真的對混合 Profile 沒有太多信心,我們也可以用單一 Profile 重組不同 properties 的方式,自行去模擬混合 Profile ,例如除了dev, uat, test之外,我們可以加入 dev-test, uat-test, default-test 作為驅分。這樣應該可以簡化測試的複雜度,不過 properties 檔案就可能會成幾何級成長。 但在某情特殊情況下,我們不可能簡單地重組 properties 等型式去做測試,例如針對部份uat-test的測試,只有部份可以執行,部份不可以,那麼我們還是需要用到混合 Profile ,限定某些測試需要執個某個 profile ,但其餘部份可以動態切換。 有條件的讀者,也可以先行試玩一下混合 profile 的特性,下期筆者再為不同情況作解紹。 混合Profile Source code spring boot profile

★ 一起到郵輪工作 ★ 領著薪水周遊列國 ★ 來一場海上的冒險 ★
走遍世界
海闊天空 // Sio・2015-10-12

世界各地不同航線的郵輪現在都有著大量華語旅客,所以不時也有招聘懂華語的工作人員,但當然也需要有良好的英文溝通能力,因為郵輪始終是國際化環境。 郵輪上什麼設施也有,所以工種非常之多,除了最常聘的廚師,也有服務員、接待員、售貨員、清潔人員等服務性崗位,而且也有按摩師、工程師、攝影師、電腦技術員、醫生、護士、歌手、樂手、荷官等不同範疇的專業工作。視乎不同的郵輪的不同航程,合約短則2-3個月,長則一年半載。其實郵輪上的工作,實在非常適合有意出國闖蕩的朋友,不單只收著錢來獲得免費的遊歷機會,存到錢後又可以到別處流浪,回國時還是可以船上的經驗找別的工作,絕對不是白過光陰~ 世界性的郵輪招聘網有許多,建議中文英文的網站都看看;可如果你對特定的地區航線有偏好,建意先搜索該區航線的郵輪,再到該郵輪的官網搜索最新空缺;以下連結則是我隨意挑選的招聘網及郵輪公司網。 國際郵輪工作網 http://www.cruisejob.cn/ 皇家加勒比游輪 http://www.rclcareersatsea.cn/ All Cruise Job http://www.allcruisejobs.com/ 但如果你對海洋極之熱愛,有志以航海事業為你的長期職業,則要首先進修海事科技相關專業,再上船實習一兩年就可考取資格成為三副,再一兩年成為二副,又再一兩年成為大副 (船長下一級), 若順利的話約 8-10 年就能成為船長,領大概 9000 美元的月薪~! 台灣 國立高雄海洋科技大學 海事學院 http://cm.nkmu.edu.tw/ 香港職業訓練局 海事科技高級文憑 http://www.vtc.edu.hk/admission/tc/programme/eg114712-higher-diploma-in-maritime-studies 馬來西亞海事學院 http://www.alam.edu.my 人們都說跑船很賺錢,但其實在船上工作根本就不用花錢,吃的住的玩的全都不用付,當然可以存很多啦~ 但在我來說,如果能夠在海上生活已經是非常了不起的體驗,因為從來就是嚮往那種隨風而飄的浪蕩感覺,所以我真是有考慮申請幾個月的輪船工作~ 但這年有別的工作在忙,可能要再過一年,到時候我們一起來一場海上的冒險吧~ photos source from http://dreamatico.com/cruise.html

為攝影而生的手機:HUAWEI P9 Plus X Leica 完美結合
手機‧電玩
Cheers!・2016-08-30

小編身為一個偽文青,除了平時一書在手之外,一部神之手機真的少不得。而且小編平日也喜歡 Selfie,最喜歡孭著「微單反」去旅行。但當發現相機裝備重,購物令行李越多,就會想一部手機走天涯。但要相片質素高,又想機身輕巧就更難。而小編最近就留意到上架沒多久的華為 P9 Plus 手機,正正可以滿足到小編的要求。 HUAWEI P9 Plus 色彩飽和度達 108%,對比度達 1:1.8M,畫面極致,備有金、灰兩色選擇。(圖片來自 : http://consumer.huawei.com/) 神之 Leica 鏡 無與倫比 每當假期旺季,被朋友的旅行Selfie及風景相,在面書瘋狂洗版,都令小編都好羨慕。剛好見到華為X Leica 推出了夢幻手機,令小編想即時入手,帶埋手機去影出更高層次的旅行照。何解?因為這部手機具備 Leica雙鏡頭,當影相時兩個鏡頭會同時 operate;彩色鏡頭負責捕捉顏色,飽滿色彩;黑白鏡頭負責捕捉景物細緻,令影像更清晰。合成後的相片清晰度、對比度更極致,更有層次感。要在草地上拍出韓風小清新照片,要文青的浪漫的都無難度啦! 自動對焦 自拍出色 文青自拍講求相片氛圍,影出仙氣來。正所謂「你的樣子如何,你的日子也必如何。」影到一張有氣質的Selfie 相,勝過千言萬語。而華為 P9 Plus 具備F/1.9 大光圈、800 像素自動對焦前置鏡頭,無論是手持或使用自拍桿 Selfie,甚至於低光環境下,都可以自動對焦,捕捉最清晰、最moody的面容。有靚靚照片,followers 自然多到要排隊啦!另外,手機也支援國內 3G/4G 網絡,如果去開中港旅行,要即時 share 靚相,只要以這部手機 join 埋 CTM 「中港澳連城計劃」,就可以隨時隨地去到邊、影到邊,即時同朋友開心「些牙」。 一手輕易操作 細節一目了然 想單手拎著咖啡享受 C’est la vie,又想同時上網,這部可單手輕易操作的 HUAWEI P9 Plus 便是不二之選。5.5 吋全高清 AMOLED 屏幕配備超窄邊框,單手就可以輕易操控,手感更實在,視覺更震撼。影完張 IG profile picture,以 user friendly的Press Touch設計,單指按壓便可即時預覽相片及放大相片局部欣賞,每個細節都一目了然,非常方便,甚至當鏡用都得啦! (圖片來自 : http://consumer.huawei.com/) 強大電量 Chill 梳乎之選 想摺埋自己,舒舒服服 Chill下,享受一部好戲,就可利用這手機配備的 3,400mAh 高電量電池,再配合 CTM 4G+ 計劃,就可以連續 14 小時享受高清影片、9 小時 4G 上網。要即時入手,體驗至 chill 的華為 P9 Plus,就要捉緊 CTM 最新的上台優惠。4G+ 上台價更低至 $0及免按金,而CTM「尊壹會」會員更可以淨機優惠 $4,480(原價$5,040)購買。 機邊及機背均是採用金屬物料製造,手感好又有型,最襯至 chill 文青。(圖片來自 : http://consumer.huawei.com/) HUAWEI P9 Plus 規格: 屏幕:5.5 吋全高清 AMOLED 壓力感應屏幕,1,920 x 1,080, 401ppi 平台:Android 6.0(Marshmallow)+ HUAWEI EMUI 4.1 鏡頭像素:Leica Summarit 系列 1,200 萬像素雙主鏡頭(彩色+黑白)/800 萬像素 BSI 前置自動對焦鏡頭 尺寸/重量:152.3 x 75.3 x 6.98 毫米,約 162 克 顏色:金、灰色

手遊資訊匯整 | 2021/04/12-04/18
手機‧電玩
MacauYeah・2021-04-19

新/未發售遊戲 【試玩】《復活邪神:邪神領域 Remastered》符合現代遊戲玩法的調整給人良好感觸 https://gnn.gamer.com.tw/detail.php?sn=213753 奇幻冒險 RPG《二之國:交錯世界》實機試玩影片曝光 開發總監透露將帶來全新原創劇情https://gnn.gamer.com.tw/detail.php?sn=213553 同名人氣動漫改編動作遊戲《一拳超人:世界》曝光 同步釋出遊戲實機畫面 https://gnn.gamer.com.tw/detail.php?sn=213537 《SMASH LEGENDS:傳奇大亂鬥》於全球推出 簡單操作擊飛全世界的玩家! https://gnn.gamer.com.tw/detail.php?sn=213587 原創開放世界 APRG《幻塔》將於明日開啟第二次測試 公開全新 PV https://gnn.gamer.com.tw/detail.php?sn=213550 延續《火炬之光 3》世界觀手機新作《代號:火山》發表 https://gnn.gamer.com.tw/detail.php?sn=213539 武俠 MMORPG 《天龍八部 2》於中國開放預約 主打寫實江湖世界 https://gnn.gamer.com.tw/detail.php?sn=213542 演藝圈體驗遊戲《絕對演繹》預告 4 月 16 日於中國開啟測試 磨練演技角逐影后殊榮 https://gnn.gamer.com.tw/detail.php?sn=213519 三國策略遊戲《鴻圖之下》開放雙平台公測 釋出宣傳影片完整版https://gnn.gamer.com.tw/detail.php?sn=213576 繼承《夢間集》系列基礎新作《夢間集 2》釋出最新宣傳影片 改採中國風 x 賽博龐克風格https://gnn.gamer.com.tw/detail.php?sn=213566 「模型」主題 3D 手機遊戲《模型少女 AWAKE》雙平台上線 體驗微縮世界的精彩冒險 https://gnn.gamer.com.tw/detail.php?sn=213643 [日本]《真‧三國無雙 8》iOS 版今日推出 透過雲端技術在手機上體驗一騎當千的快感 https://gnn.gamer.com.tw/detail.php?sn=213634 《新槍彈辯駁 V3》將於手機平台推出 搶先釋出遊戲畫面 https://gnn.gamer.com.tw/detail.php?sn=213655 Epic 宣布「MetaHuman Creator」展開搶先體驗 可輕鬆創作逼真數位人類角色 https://gnn.gamer.com.tw/detail.php?sn=213645 休閒 RPG《仙境傳說:波利合併》全球同步發行 人氣角色「波利」化身各種職業登場 https://gnn.gamer.com.tw/detail.php?sn=213654 《劫薪日:犯罪大戰》開發商宣布與 PopReach 合作 未來將重新啟動營運 https://gnn.gamer.com.tw/detail.php?sn=213633 《憤怒鳥》開發商新作《暗炎英雄 Darkfire Heroes》開放預先註冊 收集英雄打造強大隊伍https://gnn.gamer.com.tw/detail.php?sn=213624 書籍擬人遊戲《幻書啟世錄》展開文藝復興刪檔封測 進入阿克夏書館體驗幻書的魅力https://gnn.gamer.com.tw/detail.php?sn=213615 紀念 HYDE 個人活動滿 20 週年!手機遊戲《HYDE RUN》將於今年內推出 https://gnn.gamer.com.tw/detail.php?sn=213608 日式 MMORPG《ETERNAL:永恆聖約》雙平台上市 一同踏上洛古西亞大陸的旅途https://gnn.gamer.com.tw/detail.php?sn=213572 《完美世界》揭開兩款系列續作 《完美新世界》首度曝光研發中畫面 https://gnn.gamer.com.tw/detail.php?sn=213545 已發售遊戲 【試玩】文字冒險遊戲《便車旅人》透過一次又一次搭便車探索未知事物與尋找自我 https://gnn.gamer.com.tw/detail.php?sn=213757 《Dragalia Lost ~失落的龍絆~》舉辦「迎擊戰~創校☆埃米爾學園~」活動 https://gnn.gamer.com.tw/detail.php?sn=213445 《要塞英雄》與《地平線:期待黎明》合作推出「亞蘿伊」主題內容 https://gnn.gamer.com.tw/detail.php?sn=213556 《英靈神殿大亂鬥》全新傳奇人物「賞金獵人 Reno」登場 https://gnn.gamer.com.tw/detail.php?sn=213670 《RO 仙境傳說:新世代的誕生》古城版本上線 克雷斯特漢姆古城暗夜新篇章即將開啟 https://gnn.gamer.com.tw/detail.php?sn=213606 《崩壞 3rd》將於 4 月 22 日更新 4.7 版本「駭兔入侵」新增開放世界地圖「天穹迷城」 https://gnn.gamer.com.tw/detail.php?sn=213658 鐵掌水上漂來襲《新射鵰群俠傳之鐵血丹心》全新神話高手鐵掌幫主裘千仞登場 https://gnn.gamer.com.tw/detail.php?sn=213656 《英雄聯盟:激鬥峽谷》隨機單中模式限時開放 同步推出首款專屬造型「占星師」 https://gnn.gamer.com.tw/detail.php?sn=213641

珠海「十景之一」的事跡,多少人 似懂非懂!
其他
澳門生活圈・2018-08-22

踏步前行到淇澳島,聽聞素有“九灣十八峰”之說,全島面積23.8平方公里。 珠海十景之一,曾在2,000年成為《珠海市生態旅遊區》。 所謂每個地方 都有一段故事或者歷史 這座島上的村民 曾在1833年的時候 奮力反抗外來侵略鬥爭 和走私鴉片 對於島上反抗外來侵略之事 至今還是一個迷! 止步於淇澳島山水之間,吹著海浪撲面而來的風,深吸一口氣,清爽的風中帶著絲絲海鮮的味道,這種感覺似曾相似。 從金蘋果樂園公交站前面的路口左轉進去,卡丁車、天後宮、白石街、紅樹林等等的景點。 特別適合週末一家人和情侶的遊玩,也有不少外地車輛都前行於此。 一眼望去,道路兩旁有著茂密的果樹,一條路走下去,很舒服,建議自駕車和騎車,因為路還是挺遠的。 第一個點位於道路左側的金蘋果卡丁車,賽道全長1200米、寬10米,最長直道約為150米。 雙人高卡車、80cc和100cc卡丁車。 不少澳門居民到此尋求刺激,體驗一下風行電掣的感覺。 卡丁車轟隆隆的聲音雖不比職業賽車,但是車迷追求賽道飆速感的入門賽車運動。 就連不少F1方程式賽車手亦是從大小規模的卡丁車比賽中積累賽道經驗,提升出入彎位技巧。 道路直入就到白石街 一個具有歷史性的村莊 一眼玩去就可以看到一座鵰像 1833年抗戰時期英雄人物的鵰塑! 為了反侵略鬥爭,村民可謂是英勇作戰,寸土不讓,保衛自己的山河,留下了如今的古跡。 後來村民塑造了這些英雄鵰塑,為此幾年烈士保衛自己的土地和人民,決不讓自己的土地淪為別人手中。 天後宮和觀音閣相鄰在一起 一個不足18萬平米的島嶼 竟有17座廟寺 充滿著歷史性的遺留文化! 白石街兩道石門 分別刻留著這樣的門聯 英軍尋死路丟盔棄甲敗兵逃 淇澳未淪亡拔劍請纓同殺敵 山河永固日月重光 四載陰霾一朝掃盡! 這就是取得對抗的勝利 誓死不屈的精神留下標誌! 長達一千多米的花崗巖條石鋪成的白石街和一個古炮臺遺址,往裏面去總會聞到一股古老的氣息。 房屋也比較古老,不少旅客也慢行在花崗巖的路上,看著這一片古老的地區。 直行不久後到了蘇兆征的故居,蘇兆征原名蘇吉,1885年出生於唐家灣鎮淇澳村白石街461號,1929年病逝於上海,中國無產階級革命家。 (私家車駛至淇澳北公交站旁左轉) 整個故居約100平方米,一進三間,院落、矮墻、院門。1979年被公佈為廣東省文物保護單位。 蘇兆征故居陳列館 9:30-17:00開放 16:45停止入館 逢週一閉館! 政府建設故居修繕,徵收故居右側三戶民房改建為陳列館,並與故居建築風格保持協調性和統一性,與故居共同組成完整的故居陳列館。 去到島上,少不了必要的風景和燒烤,不少市民帶著家人到此一遊,吹吹海風,燒烤,過著一個小浪漫的週末,能放鬆一下心情,解解煩惱和鎖芯的雜事。 一個從歷史走到至今的島嶼 島內遺留了 當初歷史性的一面 到了今天 也成了一個旅遊景點 既能放鬆心情 也可以探討過去的歷史 何樂而不為 週末走一波也不為過! 圖片來源於:Macau Life 部分素材整理自百度 編輯整理:小嚕 如未注明出處,則來源網路 我們對作者深表敬意 如有侵權請在後臺留言告知

米芝莲星级厨师为澳门打造京都美食新体验 Michelin Starred Chef to Create Kyoto Cuisine in Macau
澳城餐飲
LifeMag Editor・2017-08-21

来自京都大仓饭店 - 粟田山庄的行政主厨臼井大辅将于9月15 至10月22 日到访澳门大仓酒店的日本餐厅「山里」。 期间,臼井大辅将会创作一系列以美味丰盛着称的京都菜式,美食爱好者可以品尝到如海鳝土瓶蒸汤,烧和牛配白味噌酱等的特别料理。 名厨臼井大辅的精湛厨艺已令粟田山庄获得许多殊荣,其中包括连续8 年获得米芝莲星级餐厅。他卓越的烹饪技巧以及精心的指导定会令澳门大仓酒店成为品尝京都美食的独特地方。每一道菜式的设计都蕴含一个故事,更能让宾客体会到其特别之处。臼井大辅先生将于9月15日至17日作客「山里」。 怀石料理包括特色午餐及晚餐,宾客可边享受美食边欣赏银河酒店的壮丽园景。京都美食节将持续至10月22 日,「山里」餐厅行政主厨林彰师傅将与他的团队继续为大家打造美食体验。 午市套餐每位澳门币 580 晚市套餐每位澳门币 1,580 另收10% 服务费 供应日期:2017 年 9 月 15日至 10 月22日 订位或谘询请电: (853) 8883 5127 邮箱: yamazato@hotelokuramacau.com 座位:70人 包房:1 间 – 每间最多可坐 12 人 寿司吧-可容纳: 8 人 营业时间: 12:00–15:00|17:30-22:00 星期一休息 高达三小时钻石大堂正门免费代客泊车服务(受相关条款及细则约束) 澳门大仓酒店 ▪ 二十八楼 ▪ 「山里」 「澳門銀河™」综合渡假城 ▪ 澳门路氹城 From September 15 to October 22, Yamazato, Hotel Okura Macau's Japanese signature restaurant, will bring Kyoto Cuisine to Macau. From 15-17 September, a very special guest, Mr. Daisuke Usui, Executive Chef of Kyoto Hotel Okura’s famed Awata Sanso restaurant, will join us and create a range of dishes from Kyoto, which is renowned for its abundance of delectable Japanese foods. Gourmets can savor delights such as Conger pike eel served in Dobin Tea Pot, Grilled Wagyu Beef with White Miso Sauce. Under Mr. Daisuke Usui, Awata Sanso has received awards including a Michelin star for eight consecutive years, and with his sublime skills and guidance Hotel Okura Macau will become a unique place for savoring Real Kyoto cuisine. Each dish has its very own story, to enthrall diners as they savor the exquisite textures and tastes. Kaiseki-Ryori set meals will be served for lunch and dinner, when visitors and guests of Hotel Okura Macau and Galaxy Macau can also enjoy stunning views over the expanded Galaxy Macau Resort. The Kyoto Cuisine promotion will be served continuously through October 22, with dishes prepared by Executive Chef Akira Hayashi and his culinary team. Kaiseki Set-Lunch is priced at MOP 580 per person. Kaiseki Set-Dinner is priced at MOP 1,580 per person Prices are subject to 10% service charge Available Date: September 15 to October 22, 2017 For reservations and enquiries: (853) 8883 5127 Email: yamazato@hotelokuramacau.com Opening Hours: 12:00-15:00 and 17:30-22:00 (Last order 21:30) Closed on Monday Seats: 70 Private Dining Room - Maximum capacity 12 Seats Sushi Bar – Maximum capacity 8 Seats Up to 3-hours valet parking (main entrance at Diamond lobby *Terms & conditions apply) 28/F • Hotel Okura Macau Galaxy Macau™ • COTAI • Macau www.hotelokuramacau.com

型別對程式語言的重要性
科技新知
MacauYeah・2024-07-08

JavaScript等程式語言的流行,好大一個原因是因為它很簡潔。而筆者認為,動態語言的特性,即是可以省略型別,是讓它簡潔的一個很大原因。(動態、靜態與強型別、弱型別並一定對等,詳見Ref) 動態語言的特性,就是同一個變數,在不同時候可能代表不同的數據類型,有時候是String,有時候是Integer。所以編寫時,乾脆就不寫數據類型,因為寫了也可能是白寫。 因此初學者並不需要處理大多導入(import)問題,也不用考慮很多compile error問題,至少程式可以運行一半,到了最後出錯的地方才停下,也就是不會因為型別問題而整個程式開不了。 不過筆者在接觸了JavaScript後,始終沒有大量使用。一來因為筆者慣用的Java,有著更大的基礎套件,改用JavaScript未必有優勢。而且動態語言還有一個長久的管理問題,我們該如何知道更新的影響有多大? 測試用例不是萬能藥 有一部份的人認為,動態語言管理難,是因為大家不愛寫測試用例。的確,若然大家寫的測試覆蓋率足夠多,一定可以預先發現問題。但筆者在Java上實踐了寫測試的習慣一段時間,依賴測試報錯,其實也是後知後覺。 IDE的界入 筆者認為,若想好好地管理程式碼,光寫測試是不夠的,我們還需要好好地讓IDE了解我們的程式碼,認它可以很有效地重構我們的程式碼。更強的IDE,還有機會可以提醒我們有一些設計上問題。 老實講,寫Java多的朋友,都可能都知道Intellij Ultimate的名字。筆者試用後,的確很有幫助。相較之下,vscode對於Java的支援,並不十分智能。但這裏筆者還覺得vscode對於java的編寫、重構、測試,在免費的情況下,都已經足夠是足夠佛心。對於網頁應用來講,vscode差的是對javascript的支援。 vscode對javascript的支援有限,其實不能怪它不夠努力。你想多一個免費的IDE怎樣去了解你的javascript程式? 我們連型別都沒有寫出來,它能怎樣推敲? 實時去模擬各種輸入?CPU又會不會耗乾?那麼寫到一半的程式碼又怎樣輸入? 直到最近筆者採用TypeScript之後,筆者看到曙光了 TypeScript - 一個變相的JavaScript的靜態型別 原本的JavaScript其實也有型別的,只是不強制。若想IDE支援,需要以特定型式寫註解。但這樣寫註解,工作量並不比引用靜態型别來得輕鬆。所以最後,筆者還是覺得直接套用TypeScript,讓自己在每一次引用參數,都要好好地先了解函數的輸入輸出型別寫法。 說實在,從JavaScript到TypeScript並不輕鬆。一些原本很無腦的Axios, Promise, Vue語句,TypeScript寫起上來,都變得很複雜。但這個套用,對於IDE來講,真的很大幫忙。它就像突然讀懂了我們的程式一樣,可以跳入跳出,可以知道在多少處被引用。重構也變得更有信心,而不是等待事後測試報錯。 有一點要補充,TypeScript並不像Java那般需要完全預先宣告型別。例如函數的回傳結果,TypeScript就不會強制要求寫出型別,因為它可以有限度地猜得出來。當然,如果大家願意宣告,就更好。 總結 總括來講,型別就像厠所的衛生情況一樣。初期當然什麼都不處理也可以,但越用越久也沒有人理會,大家也不想用下去。若然大家都願意努力維持它的品質,大家會更有意願重複使用。 參考資訊 「靜態型別 vs. 動態型別」與「強型別 vs. 弱型別」 https://blog.tarswork.com/post/programming-language-type-system Typed JavaScript https://depth-first.com/articles/2021/11/03/typed-javascript/