文 | 一鳴
讀大學的時候我選的專業(yè)是計算機默终,大一下學期開始學習編程。我記得有一次犁罩,一項編程作業(yè)出了一點問題齐蔽,我對其反復調試以找出錯誤,一直忙到凌晨四點才把問題全部解決床估。當時我心里興奮難言含滴,跟通宵寫完了一部中篇小說一樣痛快。那時候我就發(fā)現自己對編程感興趣丐巫,畢業(yè)之后也找了一份程序員工作谈况。
公司里的程序員分了兩個方向,一個開發(fā)方向递胧,一個維護方向碑韵。顧名思義,開發(fā)小組負責研發(fā)新產品谓着,維護小組是在舊產品的基礎上進行一些小改動或者修復小毛病泼诱。大部分時間里我都呆在開發(fā)組,我認為開發(fā)比維護更有意思赊锚。工作幾年來治筒,我發(fā)現自己的興趣點在于創(chuàng)造屉栓,編程和寫作都能給我滿足感。盡管我喜歡編程這份工作耸袜,但也知道它并不是我此生最大的興趣所在友多,后來我選擇了更加純粹的創(chuàng)造性工作,當一個小說寫作者堤框。
幾年程序員工作的一些感悟和習慣可以很好地應用到寫作領域域滥。軟件開發(fā)中有一個術語叫“迭代式開發(fā)”,簡單理解就是先做出一個功能簡單但是可以運行的系統(tǒng)蜈抓,然后在這個可運行的系統(tǒng)上進行逐步擴充启绰。有一個時期我負責一個大模塊的開發(fā),那也是我第一次接到大任務沟使。那時我還不會采用迭代式開發(fā)委可,而是習慣性采用“瀑布式開發(fā)”,先把所有的細節(jié)和功能設計好腊嗡,然后再開始編程實現功能着倾。
一開始光是數據表就設計了幾十個,各種設計文檔寫了一堆燕少。隨著設計工作一路下來卡者,我發(fā)現那個模塊組件的復雜性超出我的想象,里面復雜多變的程序邏輯也讓我頭大如斗客们。這種情況就好比工頭要我建一所房子崇决,而我卻建成了迷宮,還把設計圖弄丟了镶摘,自己困在里面無法脫身嗽桩。主管見我被這個任務折騰得心力交瘁岳守,沒有讓我跟進后面的編碼工作凄敢。這是我工作幾年來最大的一次失敗,我一度感到羞愧郁悶湿痢。但這次失敗的經歷讓我明白到涝缝,面對大規(guī)模任務“瀑布式開發(fā)”并不適合自己。
之后我又接了一個任務譬重,也是一個重要的系統(tǒng)功能開發(fā)拒逮。這一次我就沒有再用“瀑布式開發(fā)”,而嘗試使用“迭代式開發(fā)”臀规。我先提取出關鍵功能滩援,并早早把它實現出來,這是一個能運行的系統(tǒng)塔嬉。接下來玩徊,我再對總體功能進行拆分租悄,把功能要點羅列出來,每一次只實現一個功能恩袱。在這樣不斷擴充之下泣棋,復雜的系統(tǒng)逐漸成型,實現過程也比我之前想象的要容易一些畔塔。
跟之前“建迷宮”的感覺很不一樣潭辈,這一次開發(fā)的條理性清晰了很多,系統(tǒng)開發(fā)的進度澈吨,當前的功能狀況我都能心中有數把敢。當然,原來的一些設計跟后面的功能相沖突谅辣,也需要及時修正而付出一些時間精力技竟。事實上,也難鼻辏“瀑布式開發(fā)”的實現過程中不會出現矛盾榔组,而且各種設計已經確定下來,引發(fā)出連鎖效應式的修改成本可能更大联逻。最重要的是搓扯,這個過程來得舒服,還有幾分實驗成功的樂趣包归。能在工作中感受到快樂锨推,這是一件很難得的事情。
后來我開始寫長篇小說公壤,我也不知不覺地沿用了迭代式開發(fā)的方式换可。在寫一部小說之前,我會先設計好作品的完整性厦幅。我把作品中的一些大事件想出來沾鳄,然后進行估算,如果這一部作品包含了這些事件确憨,它的起承轉合是不是完整了译荞,以這些事件作為作品的主要劇情是不是足夠好看。這些事件列表也可以理解為簡單的大綱休弃。定好大綱之后吞歼,我針對每個大事件進行寫作,類似于迭代式開發(fā)中的功能擴充塔猾。創(chuàng)作每個大事件的過程篙骡,也是這個模式的嵌套實現:先定好事件,起承轉合都安排好之后再創(chuàng)作正文。我之前寫過一些關于大綱設計的文章糯俗,談到大綱的一個作用就是保持作品的完整性慎皱。大綱的價值在于,在最壞的情況之下叶骨,小說的情節(jié)也能寫到這個水平茫多。
一開始我并不能把小說的各個細節(jié)完全想好,我只是先把關鍵事件記錄下來忽刽。每一個大事件作為一次創(chuàng)作的完整過程:包括情節(jié)構思天揖,寫正文,修改分章跪帝。跟編程類比今膊,相當于一個功能的開發(fā)過程,先設計再實現后測試伞剑。我發(fā)現這樣的寫作方式更容易保持我的創(chuàng)作熱情斑唬,我的作品有一個逐漸成型的過程,它的進度能被我清楚感知黎泣。
作為寫作新人恕刘,我也經歷過全憑靈感創(chuàng)作的階段。有一年我花了十個月的時間寫一部武俠小說抒倚,起初想寫六萬字左右的篇幅褐着。寫下來收不住,結果寫了差不多十八萬字托呕。而且這個寫作過程常常感到痛苦含蓉,不知道接下來要怎樣寫,腦子里一團混亂项郊。我隱約知道故事發(fā)展的方向馅扣,但細節(jié)毫無頭緒。到了后來着降,我回想起這個寫作過程差油,感覺它跟之前那次失敗的編程經歷差不多∪蛋總體感覺是混亂厌殉,更難受的是長期看不到盡頭,不知道哪一天才能將它完成侈咕。這種挫敗感一度讓我創(chuàng)作停滯,造成惡性循環(huán)器紧。我不知道自己會不會摸索出更好的創(chuàng)作方式耀销,而目前迭代式的創(chuàng)作模式是最適合我的。
曾經有朋友問我,為什么從程序員轉變成小說寫作者熊尉,感覺這個兩個職業(yè)完全沒有相通的地方罐柳。這篇文章正好回答這個問題,兩者確實有相通點:第一點狰住,它們都是創(chuàng)造性的工作张吉;第二點,工作過程相似催植,迭代模型可以適用于編程和寫作肮蛹。
它們之間確實也有不同的地方,我感覺最明顯的一點就是對靈感的需求创南。編程工作在設計階段需要的靈感比較多伦忠,實現過程所需的靈感不多。甚至稿辙,編程有很多成熟的設計模式昆码,可以直接采用相應的設計解決對應的問題,免去自己動腦設計邻储。編程的實現過程基本上是體力活赋咽,哪怕腦子有點累了,但還是知道工作應該怎樣做下去吨娜,依然可以碼字如飛冬耿。寫作則不然,不管在設計階段還是實現階段萌壳,無時無刻都需要靈感亦镶。寫作者大概都有過這樣的經歷,明明腦袋很清醒袱瓮,但是沒有靈感缤骨,想寫也寫不下去。
在我看來尺借,寫作跟編程最大的區(qū)別在于對待“復用”的態(tài)度绊起。編程鼓勵復用,以提高工作效率燎斩,把現成的功能和代碼稍稍改一下就可以直接使用虱歪。編程者可以自己開發(fā)完整的組件,同一個組件可以用到多個項目之中栅表。而寫作則不鼓勵“復用”笋鄙。精巧的比喻只能出現一次,如果多次出現就會被讀者批評怪瓶,甚至作者慣用的高頻用詞被讀者發(fā)現了萧落,他們也會覺得別扭。寫作者不要有“口頭禪”,發(fā)現了要及時修改找岖。有趣的情節(jié)設計也只能出現一次陨倡,用多了讀者同樣會反感。如果某些橋段跟另一部作品類似许布,更有可能被指責抄襲兴革,這可是寫作界非常嚴重的罪名。說到這里蜜唾,可能有朋友會以網文的套路模式向我反駁杂曲。熟悉我的朋友都知道我對這種現象的態(tài)度,在此也不多作討論了灵妨。
更多寫作經驗分享請點擊:【寫作那些事】目錄
關于轉載問題:請聯(lián)系我的經紀人 南方有路
青春小說《晴時有風》已經上市解阅,請大家多多支持~