程序員常講的「寫死」是什么鬼?

「寫死」是什么意思?寫死還是不寫死,這是一個糾結(jié)的問題。
程序員嘴里說的「寫死」是什么意思?可以不寫死嗎?不寫死就會增加難度嗎?「寫死」和「不寫死」不可調(diào)和嗎?究竟怎么決策選用那種方法?
今天談?wù)勥@個話題,也順便說下「打底數(shù)據(jù)」和「云端控制」的設(shè)計方法。
首先明確「程序員嘴里說的寫死」到底是什么意思?本篇文章中,我們的舉例都以客戶端寫死為例進(jìn)行說明,其他程序亦然。程序員所說的是指對一些參數(shù)或配置寫死。寫死意味著除非發(fā)下一個版本,否則這個數(shù)據(jù)不可更改。比如微信下面的四個TAB,就是寫死的,因為那四個TAB永遠(yuǎn)不會變。在程序?qū)崿F(xiàn)的時候,程序員問是否要寫死,其實是探求這里是否會變化。如果不變,那就寫死。
不寫死又會增加多大難度呢?
不寫死意味著這個數(shù)據(jù)是變化的,可運(yùn)營的,那這個運(yùn)營數(shù)據(jù)應(yīng)該在服務(wù)器端進(jìn)行配置,再由客戶端拉取下來,然后運(yùn)行時啟用新的配置數(shù)據(jù),多出的成本是需要設(shè)計一條協(xié)議拉取這項配置或參數(shù),然后應(yīng)用到程序中,如果已經(jīng)有這樣的運(yùn)營配置協(xié)議,那直接配置即可。
我們?nèi)ヌm州拉面,跟老板說,給我來碗“牛肉面,毛細(xì),不要辣椒”,需求非常明確,所以上桌的面一定是這樣,只要訂單下了,基本沒有任何變化的空間,除非你再要一碗。
而你對女友說:“下面給我吃”,你女友可能會給你用白水煮一碗面,然后問你“要什么調(diào)料”,這個時候,你就可以加上“飯掃光”,“老干媽”等一些調(diào)料了。
- 二者的本質(zhì)區(qū)別是一個發(fā)生在編譯時,一個作用于運(yùn)行時。
- 二者并不互斥,有的時候是要一起配合的,既要本地寫死,也要云端可控。
假設(shè)你是一個資訊客戶端的產(chǎn)品經(jīng)理,一個資訊客戶端經(jīng)常有這些TAB或者叫頻道:推薦、熱點、視頻、本地、美圖、娛樂、體育、汽車。
可這些頻道的數(shù)據(jù)是可運(yùn)營配置的,可以調(diào)整順序,可以調(diào)整文案,可以新增一個頻道(比如增加一個叫島國的頻道),也可以刪除某一個運(yùn)營效果不好的頻道。
一個好的產(chǎn)品設(shè)計是,本地要默認(rèn)寫死一些頻道,這些頻道通常是一個資訊客戶端不怎么變化的,每次都要展示的,這些成為打底數(shù)據(jù)或者叫default默認(rèn)數(shù)據(jù),如果沒有這份寫死的數(shù)據(jù),你的客戶端運(yùn)行起來,就會頭部沒有任何信息,等網(wǎng)絡(luò)數(shù)據(jù)回來才有展示,或者無網(wǎng)絡(luò)時,就像出了bug一樣沒有任何展示。所以打底數(shù)據(jù)主要解決用戶體驗問題,無網(wǎng)絡(luò)或初次啟動時,給用戶隱喻這個客戶端已經(jīng)在正常運(yùn)行。
展示了打底數(shù)據(jù)之后,此刻發(fā)起云端請求,請求云端運(yùn)營數(shù)據(jù),拉取成功之后,將新的頻道數(shù)據(jù)覆蓋本地數(shù)據(jù),如果此次請求失敗,則繼續(xù)展示本地數(shù)據(jù),保障用戶瀏覽。在拉取成功的情況下,應(yīng)該把新的頻道數(shù)據(jù)覆蓋本地Default打底數(shù)據(jù),保證客戶端下次啟動展示上一次成功拉取的頻道數(shù)據(jù)。
這是客戶端產(chǎn)品和程序設(shè)計的基本邏輯,希望不要割裂開看本地數(shù)據(jù)和云端數(shù)據(jù)的問題,二者配合效果更佳,就像奧利奧要沾牛奶吃。
#專欄作家#
給產(chǎn)品經(jīng)理講技術(shù),微信公眾號(pm_teacher),人人都是產(chǎn)品經(jīng)理專欄作家。資深程序猿,專注客戶端開發(fā)若干年,對前端、后臺技術(shù)略懂,熱衷于對新的科技領(lǐng)域的探索。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自PEXELS,基于CC0協(xié)議
開車了
懷疑你在開車
寫的不錯!還需要再融會貫通
“下面給我吃”、“島國” ?
好,給你
好,給你
老司機(jī)一言不合就踩油門
感覺TAB什么的看是什么軟件,有的架構(gòu)上寫死了,有的刷新的話就可以從服務(wù)器重讀以新格式運(yùn)行,主要看軟件的架構(gòu)吧。歡迎老司機(jī)矯正。
每篇文章讀起來都很有意思,對我們PM來說,這種格調(diào)的技術(shù)文章才是上班之路的伴侶 ??
果然生動形象
??
下面給你吃
果然是老司機(jī)