編程工具總是為人服務(wù)的 效率是第一考慮的事情 如果什么事情都要親力親為的話 java新版本新函數(shù)出來的時候 是不是不敢用呢 干脆不需要高級語言了 都學(xué)匯編好了
我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、梁河ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的梁河網(wǎng)站制作公司
寫不出來有兩種情況 :\x0d\x0a一種是有思路,但是你不熟悉該語言的語法結(jié)構(gòu),所以不會寫;\x0d\x0a另一種情況是:懂語法結(jié)構(gòu),但是拋開別人的代碼你就沒有思路了;\x0d\x0a\x0d\x0a當然也有可能上述兩種情況的結(jié)合體:既沒有思路也不熟悉語法結(jié)構(gòu)。\x0d\x0a\x0d\x0a如果是第一種的話,多看一下基礎(chǔ)知識,照著書本聯(lián)系寫代碼,這種情況是最好解決的,想深入了解,就看源碼。\x0d\x0a如果是第二種的話,我覺得就需要積累了,就是在看別人的代碼時,要理解別人解決問題的思路,然后多歸納整理,然后也需要手動敲代碼來鞏固。第二種情況 說實話我也經(jīng)常發(fā)生,,能看懂別人的代碼,但是自己寫的時候就會有遺漏。我覺這個一個是多積累,一個是多思考。\x0d\x0a\x0d\x0a純手打,累死我了
看代碼前需要先了解那塊代碼是做什么的,這樣才能跟得上代碼邏輯。如果知道代碼功能,還是不懂的話,那么看代碼行數(shù)。
1、低于20行的代碼看不懂,你需要鞏固java基礎(chǔ)
2、超過20行的話,需要仔細理解代碼意圖,另外需要了解更多的java API以及開源代碼
一般看別人的代碼是很痛苦的,java高手也有看不懂的時候,譬如代碼本身就寫的爛,邏輯不明確。
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復(fù)雜的編程。
我也是名程序員,還是個女程序員,但是我和你一樣非常不喜歡編程,每天坐在電腦前就像在地獄一樣,天天煩亂,終于在我忍了一年多后我下決心辭職了,雖然現(xiàn)在掙得錢沒有程序員多,但是我想說,程序員本來就不是人干的活,何況你還是那種不喜歡編程的程序員,完全就是自虐。所以老兄,鼓起勇氣來辭職換個方向吧,人生短短幾十載,掙錢是很重要,但是錢再重要也沒有身心健康重要。換個工作可能開始工資沒有程序員高,但是你真的會發(fā)現(xiàn)心情的那種愉悅不是錢能買來的。而且長時間的心理壓抑還可能造成身體上的病變,所以還是改行吧,做自己喜歡的事情吧。心情好才是真的好!
我以前寫Java,最近主要寫Ruby,以及一點點JavaScript。
我覺得文章中有幾點,是很可取的:
編程使用什么工具是重要的,然而工具終究不如自己的技術(shù)重要。很多人花了太多時間,折騰各種新的語言,希望它們會奇跡一般的改善代碼質(zhì)量,結(jié)果最后什么都沒做出來。選擇語言最重要的條件,應(yīng)該是“夠好用”就可以,因為項目的成功最終是靠人,而不是靠語言。
很多時候我們忙于學(xué)習(xí)不同的語言,而忽略了語言的最終目的,是寫出可以解決問題的程序。
IntelliJ還可以進行非常迅速的結(jié)構(gòu)變換,這讓你就像藝術(shù)家在構(gòu)造一個雕塑作品。最開頭我可以大刀闊斧,把代碼劈成大致的形狀,然后再把它仔細推敲,揉捏成更好,更容易理解,更具魅力的形狀。
是的。用IntelliJ來Refactor Java代碼的體驗,的確比 用RubyMine來Refactor Ruby代碼、用WebStorm來Refactor Javascript代碼的體驗,要好太多太多了。雖然后者的體驗也強于用Vim時候的體驗,但用IntelliJ來的更加暢快淋漓,而且從來不用擔心因為Refactor而出現(xiàn)命名錯誤(如果不用Reflection的話)。
很多人討厭Java,其實是因為早期的GoF Design Patterns,試圖提出千篇一律的模板,給程序帶來了不必要的復(fù)雜性。然而Java語言本身,其實跟Design Patterns并不是等價的。Java的設(shè)計者跟Design Pattern的設(shè)計者,完全是不同的人。你完全可以使用Java寫出非常簡單的代碼,而不使用Design Patterns。
我自己對于一些大公司規(guī)定的模式,比如“Programming towards Interface, not implementation”十分反感——這樣子造成了很多interface,只有一個implementation;而在讀代碼的時候,就要跳轉(zhuǎn)很多個文件,才能找到需要的內(nèi)容。但我覺得這是寫代碼的人得問題,和Java無關(guān)。只是很多人在寫Java的時候,太從字面上理解“Programming to Interface”了。
然后我不太同意的:
Python湊合可以用在不重要的地方,Ruby是垃圾,JavaScript是垃圾中的垃圾。原因很簡單,因為Ruby和JavaScript的設(shè)計者,其實都只是民科。
我個人很喜歡Ruby的設(shè)計的,主要來自于MetaProgramming的部分——真的可以讓代碼量少很多。來自于更高級別抽象的代碼量減少,直接意味著,整個程序變得更容易閱讀和理解。我不覺得民科設(shè)計出來的東西,就意味著這個東西不好。而且Ruby程序,debug起來還是很容易的:RubyMine對于斷點StepTrace也有很好的支持。而且,因為是Script Base的語言,可以很容易的去閱讀/修改Library的代碼,從而很快地理解對應(yīng)的Library。
JavaScript還是有些坑的,比如沒有原生的Class(ES6的class看起來只是function的一個syntax suger)、神奇的prototype和this的關(guān)系問題;但理解了原理,這些坑還是挺容易避免的。而且也有很多用JavaScript開發(fā)的不錯的App和框架,異步編程的思想也很好(當然 思想這種東西,都任何語言都是可以支持的)。“垃圾中的垃圾”就太偏頗了。
對于Go / Scala / Clojure我?guī)缀鯖]有了解,無法評論。
然后講一下,我對于Java很反感的地方:長,function不是object。
1. 依稀記得 當年寫各種Data Access Object,里面有若干Getter / Setter,雖然用IDE可以自動生成Getter和Setter,但依然……讀起來/維護起來 很辛苦。
2. 以前寫Android程序,加EventListener。其實只是一個function而已,但只能通過Anonymous Class、在里面define function的方式——加一個EventListener,2層縮進就出去了。讓代碼變得好丑。
(在Java8里面,支持了Lambda,應(yīng)該有所緩解吧;這里我還不是很清楚)