俗話說:三句不離本行,對(duì)于程序員這個(gè)可愛的群體來說也是一樣。他們?cè)诰幊讨叙B(yǎng)成的一些思維方法會(huì)不自覺地在日常生活中表現(xiàn)出來。近年來,在StackExchange和Quora上也有過類似的討論,我們這里總結(jié)了程序員日常生活中經(jīng)常表現(xiàn)出來的8個(gè)編程思維。你有沒有同感呢?
1.在正常交流中摻雜編程規(guī)范和語法
職業(yè)原因:編程語言都有自己特定的語法,程序員在開發(fā)者都要遵守這些。當(dāng)然,還有一些約定俗成的編程規(guī)范,如代碼縮進(jìn)(是縮進(jìn)4個(gè)字符還是8個(gè)字符)、注釋風(fēng)格,采用駱駝式(CamelCase)或帕斯卡式(Pascal)來命名變量或函數(shù)等等。
日常行為:這些編程習(xí)慣可能就會(huì)影響到程序員的日常文檔書寫習(xí)慣,比如寫郵件時(shí)會(huì)用分號(hào)來結(jié)束一行內(nèi)容等。
例子:
iWriteInCamelCaseEveryNowAndThenItAnnoysMySisterWhoReadsMyEmail.(小駱駝式拼寫法)
IFyouhaveteaI'llhaveitELSEI'lljusttakewate.(利用了IF-ELSE判斷語句)
2.真實(shí)生活中習(xí)慣講操作快捷鍵
職業(yè)原因:程序員玩快捷鍵操作軟件應(yīng)該很熟練了,一般來說,Ctrl-C表示復(fù)制、Ctrl-V表示粘貼(對(duì)特定編輯器如Vi、Emacs來說會(huì)有不同)。
日常行為:這些快捷鍵有時(shí)在程序員的行為和話語中表現(xiàn)的很常見,這也會(huì)在一些場(chǎng)合引起尷尬。
例子:
"MentallytryingtoCtrl-ZonthingsIjustsaid.(Ctrl-z表示撤消,這句話意思是我收回我剛才說的話)
Inlifethereisnoundo.(生活中沒有撤消)
3.從0開始計(jì)數(shù)
職業(yè)原因:大多數(shù)編程語言中的“數(shù)組”初始值都是從0開始而不是1。
日常行為:這種約定使得程序員經(jīng)常在生活中數(shù)數(shù)都是從0開始,沒有編程背景的人們很難理解這種計(jì)數(shù)方式,如果你的程序員朋友祝愿你在3千米長跑中獲得第0名,你就偷著樂吧。
例子:
-Howmanybeersareleft?(啤酒還剩多少杯?)
-Zero,one,two,three...Wehavefourleft!(0,1,2,3,……我們還有4杯呢~)
4.生活方式不健康
職業(yè)原因:程序員寫起程序來有時(shí)一坐就是大半天,眼鏡不離電腦屏幕,甚至在靈感爆發(fā)時(shí)熬夜。
日常行為:作息無規(guī)律,鍛煉不足,與外界接觸過少。
例子:
Eatinglunchat3pmandgoingtobedat3am.(下午3點(diǎn)吃飯,凌晨3點(diǎn)睡覺)
Lackofexercise->Eatingtoomuch->unhealthylifestyle.(缺乏鍛煉->吃得過多->生活方式不健康)
5.試圖優(yōu)化任何事情
職業(yè)原因:軟件開發(fā)者會(huì)不斷地優(yōu)化自己的代碼,讓它越來越快。常用的方法有多線程處理任務(wù)、代碼復(fù)用等,并在任何有可能自動(dòng)化執(zhí)行的情況下使其自動(dòng)化。
日常行為:會(huì)嘗試優(yōu)化真實(shí)生活中的事情,盡量省力、快捷,往往會(huì)被認(rèn)為太懶惰,比如臟衣服經(jīng)常堆到一定規(guī)模,實(shí)在沒有可穿的了才去清洗(往往一次全部清洗完)。
例子:
don'tsolveaproblemuntilyouabsolutely,positivelyhaveto.(不到萬不得已,不解決問題)
6.過于強(qiáng)迫癥
職業(yè)原因:程序中一般不能使用模糊語義,因?yàn)橛?jì)算機(jī)不理解“差不多”,“基本”。程序中即使有一點(diǎn)小錯(cuò)誤,也會(huì)導(dǎo)致程序編譯不過、運(yùn)行不起來。
日常行為:程序員也經(jīng)常是過于認(rèn)真,不放過任何小細(xì)節(jié),“打破沙鍋問到底”,這有時(shí)會(huì)給周圍的人造成壓力。
例子:
Requestingclearspecforfavorsanderrands.'Waitwhatdoyoumeanby'someeggs'?Whatisthelowerandupperbound?'"(老婆讓去買些雞蛋,會(huì)追問到底買幾個(gè)啊?)
7.希望人們都和電腦一樣循規(guī)蹈矩
職業(yè)原因:計(jì)算機(jī)會(huì)按照程序設(shè)定的方式運(yùn)行,運(yùn)行出錯(cuò),那就是程序出Bug了。
日常行為:程序員有時(shí)會(huì)忽略人們是和電腦不一樣的,人不可能完全按照邏輯和理性來做事,更多的是“跟著感覺走”。
例子:
Havingtoexplainwhatalogicalfallacyis,first,everytimesomeonesayssomethingcompletelywronggetsfrustratingfast.(經(jīng)常去解釋邏輯上存在的錯(cuò)誤,如果人們否定整個(gè)事情則很容易感到沮喪)
8.總是想到2的乘方
職業(yè)原因:計(jì)算機(jī)存儲(chǔ)信息的基本單位是bit(比特)。二進(jìn)制系統(tǒng)中,每個(gè)0或1就是一個(gè)bit。
日常行為:常常不以10進(jìn)制而是以2進(jìn)制進(jìn)行計(jì)算。一些平常的日子在程序員眼里也變得很神奇,如程序員日就是每年的第256天(2^8),也有人推薦將每年的10月24日作為程序員日(2^10)。
例子:
Everythinghastobeinpowersof2.(一切皆為2的乘方)
Imagineyouhave1,000bucks;orbetteraroundnumber—imagineyouhave1,024bucks.(假設(shè)你有1000塊錢,最好這樣說,假設(shè)你有1024塊錢)
更多資訊盡在動(dòng)力節(jié)點(diǎn)官方微信平臺(tái)《動(dòng)力節(jié)點(diǎn)Java學(xué)院》,好玩好看的資訊盡在微信平臺(tái),還有更多活動(dòng)等你參與贏取獎(jiǎng)勵(lì)哦。