開發語言越便捷,我們要越仔細
昨天方生在寫他的自動傳送報表程式時出現一個問題,就是字串會自動截斷,我開始懷疑是長度問題,因為他用的是String型別,不清楚可用長度,於是改用C型別,把長度定位1024,這個長度是大於他的所有字元長,可是結果仍然截斷。
早上方生把問題查出來了,是他寫的大於小於符號搞的鬼,因為”>”,”是標籤的字元,他的程式實現用郵件的方式傳送報表,郵件內容用的是網頁的格式,所以在出現標籤字元時要考慮轉義。 HTML在處理大於小於號時使”<”,”>”,
他按照這個方法去做,發現還是不行,沒有顯示大於小於符號,而是出現了一個微分符號“∫”,這個挺怪的。我檢查了一下他的字串,發現大於小於後面連得單詞是“Internal”,而int好像是微分的簡寫,所以是否是最後的字元是“&int”,也就是說字元“lt”不見了。 我懷疑是否是前後字元的問題,所以加了一個空格轉義“ ;”,無意中想起轉義字元最後要用分好結束,所以大於小於應該是“<;”、“>;”。 他是把這個符號宣告為變數的,我在測試的時候把所有的內容都遮蔽了,直接寫了幾個字元,其中就包含“<”,因為我想用最簡單的方式把轉義是否成功測試出來。 結果傳送後檢查郵件,出現了久違的“>”,通過這一點證明轉義的功能是正確的,那麼下一步我就判斷是否在程式連線所有的字元時出現了一些異常,那麼最好的方面就是逐步除錯,當程式執行到通過判讀得出大於小於符號式,賦值的“<;”、“>;”變成了一個字元“&”,看了有點難過,原來在宣告大於小於變數時用的是預設的一個字元長度,所以後面的東西都被截掉了,原來問題發生在這裡。ABAP在宣告變數時,如果不指定型別,預設為C型,長度為1.
在程式設計過程,宣告變數時,系統的便利性帶了了一些意想不到東西,所以程式語言越是便捷,我們越是要小心。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554557/viewspace-582300/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux越學越頭疼,我要怎麼辦?Linux
- 遊戲公司做影視:我們越來越認真了遊戲
- 越來越便捷的全球商務–資料資訊圖
- 為什麼我們越來越不喜歡用網站?網站
- 為什麼我們的web前端變的越來越複雜Web前端
- 現在人們交流語言的歧義越來越大了
- 人工智慧越來越發達,逐漸代替人力,未來我們能做什麼?人工智慧
- C# 中的 is 真的是越來越強大,越來越語義化C#
- 人工智慧越來越聰明,我們應該賦予AI人權嗎?人工智慧AI
- 開發人員越來越重視安全編碼
- 來一起讓我們越來越懶,面向CSS、JS未來程式設計CSSJS程式設計
- 為什麼越像人的自然語言互動工具,越容易讓人失望?
- 釋出八年,越來越完善的Go語言你會選擇嗎?Go
- 遊戲開發是否正在變得越來越跨學科?遊戲開發
- 當容器應用越發廣泛,我們又該如何監測容器?
- 軟體開發如同越獄
- 越賣越差!iPhone 6S和SE要降價促銷iPhone
- 函式式思維: 為什麼函數語言程式設計越來越受關注函式函數程式設計
- 視覺上越來越扁平,互動上越來越擬物視覺
- Google 大佬們為什麼要開發 Go 這門新語言?Go
- 為什麼越簡單的技術對於開發人員越難
- Chrome越來越臃腫Chrome
- TypeScript 正在越來越重要TypeScript
- 越來越討厭爬蟲爬蟲
- 越來越“簡單”的JavaJava
- Ubuntu越用越舒服了!(轉)Ubuntu
- 越迷信技巧越容易失敗
- 為什麼我越來越喜歡用DDD — DDD架構篇(1)架構
- 松本行弘:我為什麼要開發新語言Streem(上)
- win10越更新越卡如何解決_windows10怎麼越更新越卡Win10Windows
- 為什麼現在開發一款軟體的時間越來越長?
- javaScript正變得越來越流行JavaScript
- 越來越鋒利的C#C#
- Android手機為什麼越用越卡?原來是它們搗的鬼Android
- 八年耕耘,騰訊在開源之路上越走越穩
- 疫情對廣告效果影響多大?我們仔細研究了測試報告……測試報告
- 當軟體更改的成本代價越來越低,你的產品就會越來越強!!!
- 我在 PC 玩「 神海 」—— 越發壯大的山寨遊戲遊戲