一個(gè)嵌入式軟件工程師的五年

學(xué)生三年蔼紧,職場兩年婆硬。五年之內(nèi),雖無大成奸例,然心中有感彬犯,不禁自發(fā)。

一查吊、學(xué)生三年

1.1谐区、初次接觸嵌入式

1.1.1、一名渾噩的大學(xué)生

我不清楚具體有多少人初入大學(xué)確定專業(yè)時(shí)就感覺上錯(cuò)了船逻卖,但我覺得不在少數(shù)卢佣。轉(zhuǎn)專業(yè)似乎是條出路,但是很奇怪的邏輯是——一般只有專業(yè)成績前10~20%才有機(jī)會(huì)箭阶。不過這只是一個(gè)托辭,自身渾渾噩噩才是問題的根本戈鲁。

記得很清楚仇参,大一課堂上,清醒的時(shí)候不多婆殿,從來也沒坐過前幾排诈乒。被輔導(dǎo)員批評(píng)過,也在期末等成績的時(shí)候膽戰(zhàn)心驚婆芦,但從沒想過自己要做什么怕磨。就這樣,一年消约。

1.1.2肠鲫、謝謝通識(shí)教育

有幸學(xué)校開設(shè)了較多的通識(shí)教育課,作為水利水電工程專業(yè)的學(xué)生或粮,雖然不少同學(xué)對(duì)《C/C++語言程序設(shè)計(jì)》和《電工與電子技術(shù)》這兩門課不感興趣导饲,但是幫我打開了一扇窗。

初次接觸 C 語言氯材,讓我看到了程序世界的精彩渣锦。慢慢地,我沉迷其中氢哮,如癡如醉袋毙。那本教材,是我讀過最多的課本冗尤,細(xì)節(jié)之處都寫下筆記听盖,或是心得胀溺,亦有不解。作業(yè)和考試不再是應(yīng)付媳溺,最終也取得不錯(cuò)的成績月幌。后來報(bào)考計(jì)算機(jī)二級(jí),也毫不猶豫地選擇 C 語言悬蔽,并順利通過扯躺。

而《電工與電子技術(shù)》這門課,真正讓我接觸硬件知識(shí)蝎困。我很喜歡開設(shè)的電子實(shí)驗(yàn)課录语,理論用于實(shí)踐,動(dòng)手完成各種硬件電路的搭建禾乘。

1.1.3澎埠、弱水三千,只取一瓢飲

信息技術(shù)領(lǐng)域有眾多行業(yè)和職業(yè)方向始藕,當(dāng)初我也是面臨諸多選擇蒲稳。往上,可以選擇純軟件伍派;往下江耀,可以選擇軟硬件結(jié)合。在探究和調(diào)研職業(yè)方向的路上诉植,我接觸了較多的東西祥国。

那段時(shí)間,我泡在圖書館晾腔,在計(jì)算機(jī)科學(xué)那么多排的書架前舌稀,如饑似渴翻閱著。這期間灼擂,我學(xué)習(xí)了網(wǎng)站建設(shè)壁查、計(jì)算機(jī)輔助技術(shù)、嵌入式開發(fā)剔应、自動(dòng)化與工業(yè)控制以及數(shù)字電路等等潮罪。我沒有特別仔細(xì)的研讀,也刻意不去了解技術(shù)細(xì)節(jié)领斥,目的是抽絲剝繭找到自己的最終方向嫉到。

選擇嵌入式軟件,看重的是物聯(lián)網(wǎng)月洛,也因?yàn)樽约合矚g底層開發(fā)何恶,與硬件打交道樂此不疲。在單片機(jī)和嵌入式 Linux 這兩塊嚼黔,我優(yōu)先選擇了單片機(jī)開發(fā)细层,將 Linux 往后放一放惜辑。

1.2、堅(jiān)定轉(zhuǎn)行

魚與熊掌不可兼得疫赎。本專業(yè)的學(xué)習(xí)在自己看來也算不上魚盛撑,給自己定下的目標(biāo)就是專業(yè)不掛科,一身心撲到正業(yè)上捧搞。

課堂上抵卫,埋頭看《微機(jī)原理》;宿舍中胎撇,學(xué)習(xí)單片機(jī)開發(fā)介粘。只有在期中或期末的考試周,才將時(shí)間用在專業(yè)考試準(zhǔn)備上晚树。當(dāng)然姻采,自我學(xué)習(xí)并沒有那么順利,遇到諸多的問題爵憎,自我管理的能力也有一定的問題慨亲。

1.3、尋求出路

臨近畢業(yè)之時(shí)宝鼓,便不得不尋求自己的出路巡雨。首先,本專業(yè)的工作是不愁的席函,但并非心之所愿;而后有兩條路:跨專業(yè)考研和跨專業(yè)找工作冈涧。

深思熟慮過后茂附,決定兩條路同時(shí)走。無論何時(shí)督弓,學(xué)習(xí)總是不會(huì)錯(cuò)的营曼。以備考之學(xué),滋求職之事愚隧,齊頭并進(jìn)蒂阱,較為穩(wěn)妥。事后證明狂塘,這樣的選擇是正確的录煤。

在備考的過程中,系統(tǒng)地學(xué)習(xí)了計(jì)算機(jī)科學(xué)幾門基礎(chǔ)課程荞胡,例如《計(jì)算機(jī)組成原理》妈踊、《計(jì)算機(jī)操作系統(tǒng)》、《計(jì)算機(jī)網(wǎng)絡(luò)》泪漂、《數(shù)據(jù)庫原理及應(yīng)用》和《數(shù)據(jù)結(jié)構(gòu)與算法》等等廊营。這些知識(shí)內(nèi)容對(duì)后面的應(yīng)聘面試大有裨益歪泳,順利獲得心儀的職位。

至于考研之事露筒,初試表現(xiàn)平平呐伞,后因求職定局,復(fù)試的心思有所浮動(dòng)慎式,最終并未被錄取伶氢。倒也沒有太多的后悔,當(dāng)時(shí)家里房貸壓力較大瞬捕,也有意早日工作為父母分擔(dān)鞍历。

二、工作兩年

遙記得畢業(yè)不到幾天肪虎,便入職新公司劣砍。公司深耕工業(yè)互聯(lián)網(wǎng)領(lǐng)域,致力于工業(yè)生產(chǎn)設(shè)備安全與可靠性管理的研究與開發(fā)扇救,我在終端開發(fā)部門擔(dān)任嵌入式軟件助理工程師一職刑枝。

2.1、職場新人

公司為客戶提供端到端——硬件產(chǎn)品端到系統(tǒng)平臺(tái)端——的解決方案迅腔。作為新人装畅,工作之初并沒有直接參與終端產(chǎn)品軟件開發(fā),而是負(fù)責(zé)各個(gè)項(xiàng)目硬件終端到系統(tǒng)平臺(tái)的配置和數(shù)據(jù)接入沧烈,以及終端設(shè)備的測試工作掠兄。

這樣的崗位安排有助于自己了解整個(gè)公司的業(yè)務(wù)架構(gòu),若只是參與某項(xiàng)終端產(chǎn)品的開發(fā)锌雀,則猶如管中窺豹蚂夕。而測試的工作也讓自己熟悉了終端設(shè)備,并且深刻體會(huì)到測試工作的意義和重要性腋逆。

至此半年婿牍,完成了職場新人之蛻變。

2.2惩歉、獨(dú)當(dāng)一面

2020年不易等脂,不僅是生活上,還有工作撑蚌。在這一年里上遥,我完成了一款量產(chǎn)產(chǎn)品和三款試產(chǎn)產(chǎn)品的軟件開發(fā)。說是四款產(chǎn)品争涌,其實(shí)大部分的軟硬件設(shè)計(jì)是一樣的露该,所以以下從其中之一詳述,并解釋其他三款產(chǎn)品設(shè)計(jì)的不同點(diǎn)第煮。

2.2.1解幼、第一款產(chǎn)品

前文說到抑党,公司致力于工業(yè)生產(chǎn)設(shè)備安全與可靠性管理的研究與開發(fā),其重點(diǎn)就是設(shè)備振動(dòng)分析撵摆,因此終端開發(fā)部門的產(chǎn)品大多是振動(dòng)檢測器底靠。無線振動(dòng)溫度檢測器是我經(jīng)手的第一個(gè)項(xiàng)目,也并不是從零開始的特铝,是從初代產(chǎn)品軟硬件迭代而來暑中。

無線振動(dòng)溫度檢測器采集振動(dòng)溫度傳感器數(shù)據(jù),進(jìn)行初步的邊緣計(jì)算鲫剿,然后將原始數(shù)據(jù)和分析數(shù)據(jù)通過無線通信方式傳輸?shù)骄W(wǎng)關(guān)設(shè)備鳄逾。具體的硬件設(shè)計(jì)方案不便闡述,這里作簡單介紹灵莲。

振動(dòng)數(shù)據(jù)采集電路中雕凹,微控制器提供給模數(shù)轉(zhuǎn)換芯片的時(shí)鐘信號(hào)控制后者的采樣頻率,提供給濾波器的時(shí)鐘信號(hào)控制其截止頻率政冻;加速度傳感器的模擬信號(hào)通過濾波器濾波后作為模數(shù)轉(zhuǎn)換芯片的輸入信號(hào)枚抵,模數(shù)轉(zhuǎn)換芯片自動(dòng)將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào);微控制器和模數(shù)轉(zhuǎn)換芯片通過串行外設(shè)接口(SPI)總線通信明场,讀取振動(dòng)數(shù)字信號(hào)汽摹。溫度數(shù)據(jù)采集電路中,微控制器和溫度芯片通過集成電路總線(I2C)通信苦锨,獲取溫度數(shù)據(jù)逼泣。微控制器和 ZigBee 通信模組之間通過通用異步收發(fā)傳輸器(UART)進(jìn)行通信,將傳感器原始數(shù)據(jù)或者處理過的數(shù)據(jù)上傳至網(wǎng)關(guān)設(shè)備舟舒;同時(shí) ZigBee 通信模組也可以接收網(wǎng)關(guān)設(shè)備下發(fā)的各種指令拉庶,通過UART接口發(fā)送給微控制器。

軟件上采用多線程設(shè)計(jì)方案魏蔗,基于國產(chǎn)實(shí)時(shí)操作系統(tǒng) RT-Thread OS。主線程負(fù)責(zé)硬件初始化痹筛、數(shù)據(jù)采集和上傳應(yīng)用以及休眠管理莺治,通信線程由主線程在進(jìn)行數(shù)據(jù)上傳業(yè)務(wù)時(shí)創(chuàng)建,看門狗線程在軟件異常時(shí)進(jìn)行系統(tǒng)復(fù)位帚稠。以黑盒的角度觀察谣旁,設(shè)備周期喚醒采集和上傳數(shù)據(jù),然后進(jìn)入休眠滋早。參數(shù)配置也通過無線通信進(jìn)行修改榄审。

2.2.2、其余三款產(chǎn)品

第二款產(chǎn)品設(shè)計(jì)時(shí)杆麸,在第一款產(chǎn)品硬件基礎(chǔ)上更換了新的加速度傳感器搁进,可以直接輸出三軸加速度數(shù)字信號(hào)浪感,因此也搭配了更大內(nèi)存容量的微控制器。軟件設(shè)計(jì)上和之前沒有太多差別饼问,通信協(xié)議上作了兼容修改影兽,以滿足多軸振動(dòng)數(shù)據(jù)。

第三款產(chǎn)品設(shè)計(jì)時(shí)莱革,在第一款產(chǎn)品硬件基礎(chǔ)上采用 NB-IoT 通信模組進(jìn)行數(shù)據(jù)傳輸峻堰。軟件重新進(jìn)行設(shè)計(jì),主線程負(fù)責(zé)硬件初始化和休眠管理盅视,主線程創(chuàng)建指令線程和通信線程捐名;指令線程負(fù)責(zé)從指令隊(duì)列取指執(zhí)行,指令類型分為內(nèi)部指令和遠(yuǎn)程指令闹击,同時(shí)也可能產(chǎn)生通信任務(wù)镶蹋;通信線程負(fù)責(zé)從通信任務(wù)隊(duì)列中獲取任務(wù)執(zhí)行,同時(shí)接收服務(wù)器遠(yuǎn)程指令拇砰;看門狗線程在軟件異常時(shí)進(jìn)行系統(tǒng)復(fù)位梅忌。

因?yàn)橹噶顖?zhí)行時(shí)可能產(chǎn)生通信任務(wù),通信時(shí)也可能收到新的指令除破,所以在指令線程和通信線程中牧氮,用到了優(yōu)先級(jí)翻轉(zhuǎn),確保這兩個(gè)線程始終是第一和第二優(yōu)先級(jí)瑰枫。當(dāng)無指令且無通信任務(wù)時(shí)踱葛,才由主線程接管控制權(quán)進(jìn)行休眠和喚醒管理。由于更換了通信模組光坝,因此驅(qū)動(dòng)層和網(wǎng)絡(luò)層重新編寫代碼尸诽,好在 RT-Thread OS 有現(xiàn)成的 AT 組件,方便了驅(qū)動(dòng)層的設(shè)計(jì)和編碼盯另。協(xié)議方面性含,參照選用的物聯(lián)網(wǎng)平臺(tái)文檔和實(shí)際應(yīng)用重新設(shè)計(jì),充分考慮未來的擴(kuò)展性鸳惯。

第四款產(chǎn)品也是基于第一款產(chǎn)品的設(shè)計(jì)商蕴,從低成本的角度出發(fā),在其他硬件原理不變的情況下芝发,使用復(fù)用器绪商,將振動(dòng)增加到四通道。軟件上大部分內(nèi)容可以從之前代碼移植甚至不需要修改辅鲸,但是仍然帶來一些變化格郁。

首先,之前的時(shí)間管理和參數(shù)管理是一維的,即數(shù)據(jù)上傳周期和各類參數(shù)都只需要一個(gè)例书。例如原先有電池電量锣尉、溫度、振動(dòng)時(shí)域數(shù)據(jù)和特征數(shù)據(jù)四個(gè)獨(dú)立的上傳周期雾叭,那么對(duì)于現(xiàn)在四通道的產(chǎn)品悟耘,需不需要十六個(gè)獨(dú)立的上傳周期?同樣的织狐,對(duì)于參數(shù)管理暂幼,某些與傳感器個(gè)體特性相關(guān)的參數(shù)(如靈敏度)則必須擴(kuò)展成四個(gè),其他的參數(shù)則需要單獨(dú)評(píng)估移迫。

其次旺嬉,四通道的使能和失能是否應(yīng)該是可配置的。例如通過修改通道選擇參數(shù)的二進(jìn)制編碼厨埋,可以靈活控制使用哪些通道邪媳,但這同時(shí)又涉及到傳輸協(xié)議。因?yàn)橛行┘夹g(shù)細(xì)節(jié)沒有介紹荡陷,因此難免會(huì)引起讀者的困惑抑或是質(zhì)疑雨效,這里不過多闡述,總之這是一款需要短時(shí)間交付废赞、只有簡單的需求文檔徽龟、限于技術(shù)要求的產(chǎn)品据悔。

2.3极颓、二三心得

這一年半的工作當(dāng)中,確實(shí)學(xué)到了很多群嗤,也踩過不少的坑。有一些摸索出來的淺顯經(jīng)驗(yàn)骇径,也有一些一直都懂但沒做好的道理既峡,在此將這二三心得付諸文字,與君共勉。

2.3.1传惠、軟件需要設(shè)計(jì)卦方,且需要好好設(shè)計(jì)

也許是帶我的良師覺得我開發(fā)經(jīng)驗(yàn)尚淺盼砍,害怕我寫出來的軟件 Bug 頻出浇坐,又或許他有意識(shí)培養(yǎng)我先設(shè)計(jì)后實(shí)現(xiàn)的良好習(xí)慣近刘,總之在這過程中我明白了一個(gè)直白的道理——良好的軟件是設(shè)計(jì)出來的觉渴,當(dāng)軟件被設(shè)計(jì)好過后案淋,程序員只是在用具體的程序設(shè)計(jì)語言翻譯它罷了哎迄。

如果設(shè)計(jì)和構(gòu)思階段不能理清自己的思路漱挚,那么實(shí)現(xiàn)時(shí)也不可能清晰明了旨涝,這不僅僅是軟件開發(fā)領(lǐng)域的原則白华。

2.3.2弧腥、盡早測試和自動(dòng)化測試

在工作的一年半內(nèi)管搪,我做過相當(dāng)多的測試工作霎箍。除了自己的軟件需要充分的測試漂坏,其他的產(chǎn)品也需要顶别,但是這過程不是很輕松和順意筋夏。資料缺失,人工投入較多赴叹,沒有良好的測試規(guī)范和指導(dǎo)乞巧,這些都是弊病绽媒。

測試驅(qū)動(dòng)開發(fā)不是所有人能玩得轉(zhuǎn)的,但開發(fā)中持續(xù)測試應(yīng)當(dāng)重視获三。盡早測試可以在代碼體量不龐大的時(shí)候抓住害蟲疙教,試想在幾百行代碼和幾萬行代碼中找出問題,哪個(gè)更加簡單裸弦?自動(dòng)化測試則是把人從繁雜的工作中解放出來烁兰,單元測試沪斟、集成測試、系統(tǒng)測試和回歸測試都是必需且重要的暇矫,據(jù)我了解主之,這些在嵌入式軟件開發(fā)領(lǐng)域還不是很流行。

2.3.3槽奕、文檔

不知道你有沒有遇到以下這些問題房轿。產(chǎn)品使用者總是詢問開發(fā)人員某些細(xì)節(jié),是不是讓你很苦惱夯接?聯(lián)調(diào)時(shí)掩幢,和同事的交流是不是占用你太多的時(shí)間芯丧?工作交接的過程中度硝,有沒有足夠的資料讓接手人員快速進(jìn)入工作?諸如此類的問題數(shù)不勝數(shù)蕊程,解決問題的核心要素就是文檔椒袍,詳盡有用的文檔。

缺乏文檔已經(jīng)是程序員日常工作中排名前幾的難題藻茂。代碼文檔化也是近年來風(fēng)靡的概念优俘,并且有較多工具可以幫助我們快速實(shí)現(xiàn)這一目標(biāo)京办。在寫代碼時(shí),依據(jù)特定的規(guī)則添加注釋帆焕,便可以借助類似 Doxygen 這樣的工具生成開發(fā)文檔惭婿,非常有助于提高工作效率和進(jìn)行信息交換。

文檔代碼化也同樣值得注意叶雹,將文檔以類代碼的領(lǐng)域特定語言的方式編寫财饥,并借鑒軟件開發(fā)的方式(如源碼管理、部署)進(jìn)行管理折晦。二進(jìn)制文檔的優(yōu)勢和劣勢都相當(dāng)明顯钥星,而使用 Markdown 這類標(biāo)記語言寫出來的文檔,雖然缺乏豐富的表現(xiàn)力(因?yàn)樵O(shè)計(jì)目標(biāo)就是輕量)满着,但對(duì)于軟件開發(fā)領(lǐng)域絕對(duì)夠用谦炒,并且可以解決二進(jìn)制文檔版本管理難的問題。

2.3.4风喇、最快的成長是學(xué)習(xí)優(yōu)秀的人编饺,而不是自己領(lǐng)悟

沒人一開始就能領(lǐng)悟各種設(shè)計(jì)模式和開發(fā)原則,養(yǎng)成良好的代碼風(fēng)格和習(xí)慣响驴。在沒有學(xué)習(xí)和別人斧正的情況下透且,也許工作一輩子還只是個(gè)代碼民工。為了較好地闡明這兩句話其中的含義豁鲤,在這分享一次我閱讀別人代碼的真實(shí)經(jīng)歷秽誊。

有一次老板讓我和一位硬件同事重新生產(chǎn)一款早期的終端產(chǎn)品,用于公司創(chuàng)立初期承接的項(xiàng)目中損壞產(chǎn)品的替換琳骡。需要強(qiáng)調(diào)的是锅论,小公司創(chuàng)業(yè)初期沒有完善的產(chǎn)品設(shè)計(jì)開發(fā)和生產(chǎn)的流程,資料也是混亂不堪楣号。本以為不需要做什么事情最易,但很明顯我低估了這項(xiàng)任務(wù),因?yàn)樯a(chǎn)出來的產(chǎn)品工作異常炫狱,深入調(diào)試過后才解決問題藻懒。

我打開從同事那拷貝過來的工程文件,沒錯(cuò)视译,資料都是拷貝的嬉荆,沒有使用版本管理工具。這是一份 MDK Keil 工程文件酷含,主控是 STM32 系列鄙早,一個(gè)幾百行的主函數(shù)包含了所有應(yīng)用邏輯汪茧。單從主函數(shù)就能看出相當(dāng)多的問題。

  • Hal 庫和寄存器混用

    整個(gè)工程應(yīng)該是使用 STM32CubeMX 生成的限番,基于 Hal 庫舱污,但摻雜著大量的寄存器操作,并絕不是因?yàn)樾省?/p>

  • 標(biāo)識(shí)符命名停留在初學(xué)者水平

    uint32_t iiuint16_t i 讓人無語弥虐;大小駝峰命名和小寫字母下劃線命名混用扩灯;

  • 隨處可見的幻數(shù),可讀性極差躯舔,容易出錯(cuò)

  • 毫無章法的喂看門狗,感覺像是調(diào)試時(shí)隨性加上

  • 條件語句濫用省古,根本沒考慮擴(kuò)展性

  • 沒有架構(gòu)設(shè)計(jì)粥庄,直接處理通信協(xié)議的組包和拆包

我一個(gè)初出茅廬的職場新人都看出這么多問題,簡直可以當(dāng)作 Code Review 的反面教材豺妓,據(jù)說當(dāng)時(shí)的開發(fā)人員也是有好幾年工作經(jīng)驗(yàn)的惜互。

站在巨人的肩膀上才能看得更遠(yuǎn)。因此琳拭,多逛逛 Github训堆,深入學(xué)習(xí)優(yōu)秀的案例,多看書白嘁。

2.3.5坑鱼、適當(dāng)參加面試

面試可以為了跳槽,也可以為了增長見識(shí)絮缅,摸摸自己的底鲁沥,這里我主要想談?wù)労笳摺?/p>

在公司,可能沒有人會(huì)考察你的基礎(chǔ)知識(shí)是否扎實(shí)耕魄,但面試時(shí)一定會(huì)画恰。工作一年多,慢慢忘了大小端和字節(jié)對(duì)齊的一些細(xì)節(jié)吸奴,也沒有再寫基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)和算法代碼允扇。而面試就是考場,能夠讓自己清楚自己的不足则奥,同時(shí)也能知道企業(yè)需要什么樣的人才考润,有助于找到自己的職業(yè)方向甚至是事業(yè)。

三读处、寫在最后

五年额划,很慶幸自己仍然熱愛選定的方向。五年档泽,自認(rèn)為沒有虛度如金的光陰俊戳。

新的一年揖赴,我們的故事還將繼續(xù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抑胎,一起剝皮案震驚了整個(gè)濱河市燥滑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阿逃,老刑警劉巖铭拧,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異恃锉,居然都是意外死亡搀菩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門破托,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肪跋,“玉大人,你說我怎么就攤上這事土砂≈菁龋” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵萝映,是天一觀的道長吴叶。 經(jīng)常有香客問我,道長序臂,這世上最難降的妖魔是什么蚌卤? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮奥秆,結(jié)果婚禮上造寝,老公的妹妹穿的比我還像新娘。我一直安慰自己吭练,他們只是感情好诫龙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鲫咽,像睡著了一般签赃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上分尸,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天锦聊,我揣著相機(jī)與錄音,去河邊找鬼箩绍。 笑死孔庭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播圆到,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼怎抛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了芽淡?” 一聲冷哼從身側(cè)響起马绝,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挣菲,沒想到半個(gè)月后富稻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡白胀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年椭赋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片或杠。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡哪怔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出廷痘,到底是詐尸還是另有隱情侦啸,我是刑警寧澤箱残,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布趾娃,位于F島的核電站笋除,受9級(jí)特大地震影響防嗡,放射性物質(zhì)發(fā)生泄漏院究。R本人自食惡果不足惜康愤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一半开、第九天 我趴在偏房一處隱蔽的房頂上張望鉴未。 院中可真熱鬧枢冤,春花似錦、人聲如沸铜秆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽连茧。三九已至核蘸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間啸驯,已是汗流浹背客扎。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留罚斗,地道東北人徙鱼。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像针姿,于是被迫代替她去往敵國和親袱吆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子厌衙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容