評論:「行」,還是「列」?

很高興我的數學老師有正確解釋「列」跟「行」。他的解釋很好——大部分人常會說「一列車廂」,而列車在你眼前都是橫向移動,所以「列」是橫的。畢竟你不會站在行駛中的列車前,看到的必定都是左到右移動,而且台灣沒人講「一行火車」。

不過在觀察同儕間的回答時,我發現到一堆人認為「列」是行,「行」是列。不知道是搞不清楚,還是受到中國那邊的用詞影響呢?

所以,我在翻某些針對普羅大眾的軟體時,我都會盡可能不要提到這兩個字,保持「row」和「column」,因為對於某些不清楚這些用詞的人,硬塞正確的用法會造成誤解。

當然,如果是針對部分現代被中國文化影響較重的青少年,就例如我段落開頭說到的那個案例。那些人可能也不知道 row 和 column 是什麼,所以我就比較傾向保持中國那邊的講法,也就是 row = 行,column = 列。因為這要解釋起來太麻煩了,且多數人相信中國的用法才是正確的。

但是這樣治標不治本,台灣應該加強台灣本土用詞的教育與指正。而非放行中國用詞,讓新一代年輕人帶著從抖音、微信學來的用詞到處跑。

本文同步發表於「Yi-Jyun Pan」的 Facebook

ANSI C:判斷字串是否全大寫

/* 感謝一位不具名朋友提供效能更佳的版本 (all_uppercase)! */
/* 舊版在 all_uppercase_v1() */

#include <string.h>
// 只有 all_uppercase_v1 需要 ctype.h
#include <ctype.h>

int all_uppercase(char* str) {
    int len = strlen(str);
    for (int i = 0; i < len; ++i)
        if (!(str[i] >= 'A' &amp;&amp; str[i] <= 'Z'))
            return 0; 
    return 1;
}

int all_uppercase_v1(char* str) {
    int upper = 1;
    for (int i = 0; i<strlen(str); i++)
        if (!isupper(str[i])) upper = 0; 
    return upper;
}

DevLog:使用者體驗 (1)

貢獻了一個新東西到某個 GitHub 儲存庫,其中主要是讓程式更適合使用者。有許多開發者常常犯下類似「錯誤訊息太艱深難懂」、「以為使用者會需要,但其實沒必要的」的錯誤,而這篇文章我會詳談為何我覺得開發者為何不應該犯這些錯誤。

(閱讀全文…)

用 Golden Circle 從初衷找出需求

這個團隊發生了什麼事情?

有一個團隊花了 2 年,做不完一個中小型專案。

這個團隊想要寫一個可以儲值的訂餐系統,乍聽之下這不是很難,但事實上他們花了非常多時間在寫這個專案,但還沒寫完。最糟糕的是,程式碼極其混亂,甚至 bug 一堆,講難聽點,就是花了兩年做了坨垃圾。

他們說這是因為上級機關的問題太多,但事實真是如此嗎?

(閱讀全文…)

《我在網路上被霸凌和爆個資的日子》

序言

這篇故事以真實事件改編。

這篇文章的起源是我 1 個月前與朋友在 Discord 聊天的內容,後來因為當時情緒低落,所以決定在 Instagram 連載這個故事,但後來情緒平復之後又不想寫了。

那至於為何我現在又想寫了呢?不是我情緒低落,而是我作文剛好就在寫這篇文章,但是遺憾的是,我當時來不及寫完。

因此,我決定把這個故事丟在我自己的 Blog —— 至少 Blog 不會限制 50 分鐘內要寫完,對吧 🙂

(閱讀全文…)