IT技術小屋

          秋風秋雨,皆入我心

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            38 隨筆 :: 1 文章 :: 19 評論 :: 0 Trackbacks

          周末用了下新浪微博開放平臺API和官方發布的Java客戶端,感覺可以用兩個字形容:坑爹!

          先說說遇到的幾個極其弱智的bug吧:

          1)分頁

          官方API文檔里面對數據分頁獲取的說明是使用cursor和count這兩個參數。其中,cursor指明了起始記錄的位置,而count指明了當前每頁的記錄條數,請求第一頁的時候cursor為-1。返回結果會給出next_cursor,指明下一頁的起始位置。

          這個設計看起來不錯,問題是根據這個文檔,得到的結果會有重復。也就是說同一條記錄會出現在多個頁面中,而且這種重復出現的頻率是隨機的。試想連程序的行為都無法預測,叫別人怎么開發應用?!

          更搞笑的是,官方發布的Java客戶端居然把cursor寫成了page,導致了不管怎么設置參數,返回的都是很多重復的數據,但重復的比例又是隨機的!難道新浪沒有對這個客戶端進行過簡單的測試就發布了嗎?無法想象!!

          2)返回結果的解析

          好不容易把用戶信息得到了,新浪自己寫了一個JavaBean用來表示一個User的信息。問題是把JSON解析成Java對象的時候,居然把布爾屬性字段解析錯了,導致每次返回都是false,好不容易得到的數據就這么泡湯了~~難道解析JSON很難嘛??敢測試下再發布嗎?

          3)詭異的負數

          我小學學到的知識告訴我,人的個數不可能是負數。于是我天真的在followers_count這個數據庫字段上加了unsigned,本以為教數據庫的老師應該很開心吧,這孩子設計的數據庫還蠻嚴謹的,而且應該能夠和新浪的數據很好地匹配。

          于是我開心的運行程序,詭異的錯誤出現了:超出字段范圍。暈,于是檢查所有數字字段是否超過了表示范圍,N遍檢查過后確認數據庫沒問題,糾結~~于是看log,發現返回的數據里面,有一個項的followers_cout字段是-2,負數!!!尼瑪這人雖然粉絲少了點,也不至于欠你新浪兩個粉絲吧,我當時就凌亂了,于是加了很多異常數據的判斷和檢查。。。

          4)詭異的版權信息

          Java客戶端里面很多文件的作者信息是:@author Yusuke Yamamoto - yusuke at mac.com,感覺這應該是一個蘋果公司的員工開發的,然后新浪拿過來,沒有code review,沒有測試,就直接官方發布了。。。

          這樣不重視代碼質量,把產品構建在志愿者的貢獻之上,我覺得是新浪的恥辱,更是中國互聯網產業的頑癥惡疾。

          以上只是我這兩天試用了一小部分API的感受。由于各種bug,我不得不閱讀源代碼,并根據我的需求改寫代碼,甚至一度我準備拋棄這個客戶端,直接用HTTP調用。反正最后嚴重降低了我的效率。

          回想起這兩天傳高鐵出事是程序員的問題,我看要按照新浪這質量標準,不知道還要出什么大事~~

           

          posted on 2011-07-31 20:49 Meng Lee 閱讀(3810) 評論(11)  編輯  收藏 所屬分類: 互聯網

          評論

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-08-01 01:19 altchen
          寫的還挺好笑,哈哈哈  回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽[未登錄] 2011-08-01 08:57 alpha
          4)詭異的版權信息

          這個不同意你的觀點,這是尊重版權信息,使用人家提供的算法,又怎能去掉人家的版權信息,人家不告你告誰。  回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-08-01 09:35 毛叔
          新浪的java SDK是對twitter4j進行改動而生成的,twitter4j沒有這么多問題,而且演進很快,twitter4j的作者就是Yusuke Yamamoto。也不知道新浪具體是改動的哪個版本的twitter4j。
          同意你的說法,新浪的SDK沒有測試就發布了,而且很長一段時間沒有更新。  回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-08-01 10:11 JarnTang
          我上次調用sina的api,也被坑了,導致網站的交易出現異常,后來對sina的所有接口返回的數據全部自己檢驗一次  回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-08-01 10:28 Meng Lee
          原來是這樣,受教了~~@毛叔
            回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-08-01 10:29 Meng Lee
          我只是說這個客戶端不是新浪開發的,版權信息確實需要保留的@alpha
            回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-08-01 11:35 HiMagic!
          哈哈,Sina玩Java還不夠火候,連PHP都玩的不太轉,弄個AppEngine問題一籮筐,不知道他們的工程師一個月拿多少錢  回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-08-01 13:50 seaeast

          方便的話,可以加下我Msn:su.haidong@hotmail.com或者Q:540003006

          1、這個確實存在這個問題,晚些會更新下。
          2、這個是指哪個字段?
          3、負數的問題

          麻煩能給個聯系方式嘛?
          我好確認下問題,多謝。




            回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-09-05 11:00 happy
          全部都遇到這樣的問題了我,關鍵是分頁始終沒有成功過,  回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-11-29 21:33 djoy
          我也發現了 這個jason解析太坑爹了 而且我在返回關注id的時候居然返回到了不存在的id 繼續檢查它的api 看得我郁悶死了  回復  更多評論
            

          # re: 關于新浪微博開放平臺API和Java客戶端的吐槽 2011-12-16 14:59 電玩
          Yusuke Yamamoto,作者是個日本人,叫山本裕介。Sina真應該叫支那  回復  更多評論
            

          主站蜘蛛池模板: 富顺县| 淮阳县| 兴仁县| 鹤岗市| 准格尔旗| 高青县| 亚东县| 绩溪县| 加查县| 荆州市| 怀化市| 迭部县| 杭锦后旗| 宜城市| 拉孜县| 黔西| 齐齐哈尔市| 大方县| 云梦县| 寿光市| 泗洪县| 东宁县| 通道| 井研县| 长垣县| 西乌珠穆沁旗| 昌平区| 都江堰市| 南丹县| 台南市| 灵宝市| 娱乐| 资中县| 西乌| 宣城市| 龙泉市| 云浮市| 彝良县| 宁都县| 兰考县| 波密县|