1.如何理解“面向過程”窗声?
為什么日常生活,有的人辦事讓你覺得有條有理厌衙?有的人辦事卻讓你覺得“東一榔頭西一棒子”距淫?
為什么上學(xué)的時(shí)候,有的老師講課讓你一聽就懂婶希?有的老師就讓你覺得很懵逼榕暇?
為什么工作的時(shí)候,有的領(lǐng)導(dǎo)講話讓你馬上明白他的意圖?有的領(lǐng)導(dǎo)講話讓你覺得羅里吧嗦彤枢?
這就是“不同的人撤蟆,邏輯思維是否清晰、有條理”產(chǎn)生的差別堂污。
“面向過程”(Procedure Oriented)是一種以過程為中心的編程思想。
面向過程龄砰,本質(zhì)就是用“自然的邏輯”描述“辦一件事情的流程”盟猖,這就極其依賴程序猿的邏輯清晰性和條理性。
2.如何理解“自然的邏輯”换棚?
我想到我?guī)煾嫡f過的一段話式镐,他立志于成為程序猿界的白居易。為什么是白居易固蚤?因?yàn)榘拙右讓懙脑?shī)很樸實(shí)娘汞、很自然,老人小孩都看得懂夕玩。
“自然的邏輯”就是樸實(shí)你弦,再通俗點(diǎn)就是——說人話,不騷氣燎孟,不繞彎禽作,直來直去。
這么解釋“自然的邏輯”還是很抽象揩页,我總結(jié)了幾個(gè)特征:
特征1:極強(qiáng)的目標(biāo)性
此時(shí)我想到最近一個(gè)朋友的遭遇旷偿,這位朋友找了個(gè)待辦公司辦理公司注冊(cè),待辦的小姑娘態(tài)度倒是很好爆侣,可總說不到重點(diǎn)萍程,聊著聊著就跑題。類比到編程兔仰,這種沒有目標(biāo)性的思維茫负,就會(huì)導(dǎo)致寫出來的代碼有很多與“主目標(biāo)”無關(guān)的冗余代碼。
閱讀這種代碼的時(shí)候乎赴,你總會(huì)有一種疑問:“這里為啥要寫這么一段朽褪?”
“自然的邏輯”就是極強(qiáng)的目標(biāo)性。
特征2:有條有理
再舉一個(gè)例子无虚,曾經(jīng)見過一個(gè)用戶給年輕的產(chǎn)品經(jīng)理提靜態(tài)網(wǎng)站改版的需求缔赠,年輕的產(chǎn)品經(jīng)理折騰了一天,既沒有把用戶的完整需求引導(dǎo)出來友题,也沒有告知用戶還需要用戶繼續(xù)提供什么材料or幫助嗤堰。
有經(jīng)驗(yàn)的產(chǎn)品經(jīng)理會(huì)怎么處理這個(gè)具體的“靜態(tài)網(wǎng)站改版”需求呢?
首先,自上而下踢匣。
第一波梳理:這個(gè)靜態(tài)網(wǎng)站有幾個(gè)頁面告匠?哪些已經(jīng)有設(shè)計(jì)稿了,哪些沒有离唬?
第二波梳理:每個(gè)頁面有幾個(gè)“模糊點(diǎn)”后专?(例如:有沒有涉及js代碼的交互邏輯?有沒有超鏈接输莺?有沒有視頻播放戚哎?等等)
經(jīng)過第一波、第二波梳理嫂用,基本靜態(tài)網(wǎng)站的sitemap已經(jīng)很清晰了型凳。
然后,自下而上嘱函。
第三波梳理:老的靜態(tài)網(wǎng)站和新的靜態(tài)網(wǎng)站在各個(gè)頁面有什么差異甘畅?(無論差異大小)
經(jīng)過第三波梳理往弓,就等于查漏補(bǔ)缺了疏唾,各種細(xì)枝末節(jié)也被補(bǔ)齊了。
類比于編程函似,也是如此荸实。
“自然的邏輯”就是有條有理,自上而下缴淋、自下而上多次反復(fù)以后准给,形成宏觀和微觀的理解。
3.如何訓(xùn)練重抖?
記得知乎上有一個(gè)問題:“如何把大象裝進(jìn)冰箱這個(gè)問題為什么很有名露氮?”
有一條答案總結(jié)的很到位:
“這個(gè)問題的核心要義是:學(xué)會(huì)將一個(gè)大的、模糊的問題分解為明確的钟沛、具體的小問題畔规。問題本身用了夸張的手法,讓人印象深刻恨统。個(gè)人覺得叁扫。”
個(gè)人覺得畜埋,說的很有道理莫绣。我們可以利用日常生活中各種要處理的事情訓(xùn)練自己的邏輯思維。
關(guān)于“面向過程”悠鞍,就寫到這里吧对室。over