本文節(jié)選自《Flash MX professional 2004 第一步》(陳冰著)
第十八章 了解在Flash中的編程工作
媽媽,這扇大門好雄偉好輝煌啊,它通向哪里? 寶貝,它通向編程的世界,那是充滿魔法的世界,進入那里,你將成為偉大的魔法師。
經(jīng)歷了此前整整十七章的學習,我們終于來到了編程世界的大門,大門敞開著,顯然,它一直在等待我們的到來。
18.1 像軟件設計師那樣思考問題
我相信你們中有很多人只有很少或完全沒有編程基礎,否則,你就不會選擇我寫的這本《第一步》了。我們已經(jīng)知道,在Flash中使用ActionScript編寫腳本,與使用其他語言編程沒有什么不同。而要最終鍛煉成一名出色的軟件設計師,你要做的第一件事就是要時刻提醒自己要像一個軟件設計師那樣來思考問題。
18.1.1 不要總想著逃避編程
對于在Flash中的編程而言,要做到像軟件設計師那樣來思考問題,最重要的一點就是不要總想著通過逃避編程來實現(xiàn)你的想法,很多人總是想方設法試圖用非編程的手段來完成他所面對的一切問題,為此,他可以不惜代價,可以花費大量的時間,他會想出數(shù)不清的繞過編程的變通方法,如果這些方法也可以被稱為算法的話,絕對會令許多軟件設計師吃驚。
實際上,在很多時候,使用編程的方法可以被非編程的方法節(jié)省大量的時間,而且會產(chǎn)生更為真實的效果。很典型的一個例子就是表現(xiàn)各種隨機運動,例如,大量雪花的飄落、魚的游動。
18.1.2 認真的編寫設計說明書
要像軟件設計師那樣來思考問題,你要努力地用邏輯清晰的語言來描述你想要實現(xiàn)的那個想法。這個過程就是軟件開發(fā)中非常重要的編寫設計說明書的過程。
聽起來有些傲慢,但在你完成了一個詳細的設計說明書后,你的工作中的95%就已經(jīng)完成了。每當有人問我某個想法是否能實現(xiàn)時,我總是回答說只要他能夠詳細的描述出它,我就能夠編出它來。對于Flash中的開發(fā)而言,一個設計說明書的全部就是一個對于Flash電影將如何執(zhí)行和表現(xiàn)的詳細而嚴謹?shù)拿枋觥R粋好的說明書將花費大量的時間和工作,但這是值得的。當它完成時,它將承擔起工作藍圖的職責。
一個人的關(guān)于資料要詳細到何種程度的想法可能與另一個人不同,但越詳細越好。當你在工作的前期投入了額外的精力后,它將不僅僅在沿著這條路的行進中為你節(jié)省下時間,它也將減少返工的機會。
編寫一個極為詳細的說明書所存在的一個問題是你很難做到充分的描述最終的程序,因為一個書面的說明書與最終的Flash電影差別巨大。簡單點說吧,僅僅用語言來描述一個繪圖中的顏色或在沒有某些音樂設備的情況下描述一個歌曲的聲音是不可能,這里存在著解釋錯誤。但這并不意味著你應該草率的放棄編寫說明書的整個過程。相反,你只需將它編寫的足夠詳細使你有把握依靠它展開工作就可以了。另外,你一定要知道先前你所做的工作將對以后的工作產(chǎn)生杠桿作用。失之毫厘,謬以千里的事情經(jīng)常是由不負責的設計說明書導致的。
18.1.3 要想到還有其他的可能
有些時候,一個實現(xiàn)似乎有一個清晰的邏輯,似乎很明顯就該按照你設計的算法和邏輯來編寫程序,但當開發(fā)進展到某一步時,你卻好像遭遇到了一堵墻,無法再前進一步,很多初學編程的人會在這里投入大量的時間,不斷的反復檢查自己設計的算法的邏輯和程序代碼的編寫,對其進行無數(shù)次的小修小改,最終陷入泥潭。
然而,一個有經(jīng)驗的軟件設計師在這種情況下,會很快意識到自己最初的判斷可能存在根本性的錯誤。很多時候,復雜事物的背后是簡單的邏輯,而簡單事物的背后卻潛藏著復雜的邏輯。徹底拋棄自己原先的算法,換一種思維,盡力去猜測另一種可能,你會發(fā)現(xiàn),那堵墻開始消失了。
人們總是情愿用簡單的方法去解決事情,在編程上也是一樣,這是正確的思路,但有的時候,當簡單的方法行不通時,你要意識到這件事情或許要用復雜的方法才能實現(xiàn)。 不要總把事情想的那么簡單,總要想到還有其他的可能。
出處:藍色理想
責任編輯:qhwa
上一頁 下一頁 面向?qū)ο蟮能浖_發(fā)中的重要概念
◎進入論壇Flash專欄版塊參加討論
|