成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

盤點前端問題,你知道幾個?

開發(fā) 前端
在回家的路上,一直在思考需求的可行性,索性把最近的已知的問題做一個簡單的復盤。在網上也看了很多bug匯總,都寫的比較細,那么我們是否可以宏觀的思考,為什么會造成錯誤。

[[383982]]

在回家的路上,一直在思考需求的可行性,索性把最近的已知的問題做一個簡單的復盤。

在網上也看了很多bug匯總,都寫的比較細,那么我們是否可以宏觀的思考,為什么會造成錯誤。

簡單的歸納了幾個點:

  • 代碼邏輯錯誤
  • 產品需求錯誤
  • 場景缺失錯誤
  • 異步錯誤
  • 概念理解錯誤

接下來展開討論一下。

代碼邏輯錯誤

「 人很容易發(fā)現(xiàn)別人的錯誤,而對自己的錯誤視而不見 」

要想發(fā)現(xiàn)代碼邏輯的問題,最簡單的辦法就是看老代碼或者看別人的代碼。代碼邏輯體現(xiàn)的是你對需求的理解,以及你對整個產品邏輯的把控。

比如一個列表的渲染。每一次請求我們都會標記返回的數(shù)據(jù)列表,記作now_list,然后把列表拼接到現(xiàn)有的列表上面,記作list。當列表底部到頁面底部的距離大于一定數(shù)值的時候會自動觸發(fā)請求,加載loading。然后判斷當now_list為空的時候,停止自動觸發(fā)。這是正常的邏輯。

接下來,騷操作來了,把loading的開啟條件放在了觸發(fā)條件里,我們可以記作這個觸發(fā)的方法為onEndReached,把關閉loading的方法放在了請求方法里。這樣導致的結果就是當起始數(shù)據(jù)量小(比如列表長度為1的時候)的情況下,會不斷觸發(fā)loading,關閉loading,然后進入死循環(huán)。然后又一個騷操作來了,因為每次請求的列表數(shù)量為4,所以在onEndReached方法里,添加里一個判斷條件,當now_list的長度小于4的時候,不開啟loading。很簡單的問題繞了一個大圈。而且像這種以數(shù)字為條件的的代碼邏輯,一定要引起警惕。因為這預示著你的代碼邏輯不嚴謹。關于代碼邏輯的問題還有多層判斷條件的問題,比如報告的生成與查看,查看報告的按鈕除了不能在狀態(tài)1和8展示,其余狀態(tài)都可以展示;而下載報告的按鈕只能在狀態(tài)5或6展示,分享報告的按鈕只能在6展示。無論查看、下載、分享都操作的是同一個按鈕。像這種邏輯判斷條件多的情況,極易產生錯誤。

產品需求的錯誤

「 需求評審,都是一場辯論會,不是說服別人就是被說服 」不要太相信產品,因為他們也會犯錯誤。總結了一下已知產品需求的錯誤,分兩類:

  • 無用的需求
  • 不合理的需求

先說一下無用的需求,為什么說是無用的,比如上一版做的功能,下一版全部推翻。也就是說,在上一段時間內,你在做無用功,沒有對產品產生任何價值。一群人白白耗費了一段時間去做了一件毫無意義的事情。再講一下不合理的需求,比如買一贈N,在列表中折疊。不管是贈送的訂單還是正常的訂單,在訂單列表中是平鋪的。為了解決訂單之間的關聯(lián)關系,給用戶呈現(xiàn)層級的展示效果,前端需要做的是把平鋪的數(shù)據(jù)整合成樹狀結構,然后折疊起來,方便用戶查看。列表請求數(shù)據(jù)條數(shù)是一定的,比如4條數(shù)據(jù)就可以填滿屏幕,我們一般會請求5條,以便上拉加載。那么我們可以假設一下場景,比如買一贈7,當我們首先加載完5條數(shù)據(jù),并整合成樹狀結構,折疊起來就變成了一條數(shù)據(jù),就會再次觸發(fā)請求加載,這次我們又加載了5條,不巧的是下一次的正常訂單也是買一贈7,前3條數(shù)據(jù)還是上一條的贈送單,那么我們繼續(xù)重組數(shù)據(jù),現(xiàn)在訂單中有兩條數(shù)據(jù),第一條數(shù)據(jù)折疊了7條,第二條數(shù)據(jù)折疊了一條,還會繼續(xù)觸發(fā)請求加載,直到屏幕上放滿了正常的訂單。這個過程會不斷的重組數(shù)據(jù),并不斷的加載loading,關閉loading。專業(yè)點的術語可以叫"閃屏"。當然可以把折疊的數(shù)據(jù)默認展開,這也不失為一個好方法。我承認我們做的一些需求不一定合乎規(guī)范,并確實解決了一些問題。但是后期的維護實在太困難,而且不可預料。

場景缺失的錯誤

「 改bug,最忌諱的就是改一處,制造兩處 」

場景缺失的問題,也可以簡單的歸為兩類:

  • 同樣問題,只改了一處,其他處沒有考慮到
  • 關聯(lián)問題,只改了有問題的地方,后續(xù)產生的問題沒有考慮到

前端時間的地址問題確實困擾了一段時間,側面反應了處理問題不嚴謹,也反應設計之初沒有考慮周全。

省市區(qū)的問題,會伴隨著傳值、回顯、提交拼接。問題就出現(xiàn)在了拼接。老數(shù)據(jù)是直接拼接在一起的,中間沒有任何特殊標記,而現(xiàn)在的需求是第三方拿到這個數(shù)據(jù)無法解析。舊有的邏輯有自己的一套解析機制,但也存在一定的問題,不嚴謹。所以在已經存在問題的基礎修改,注定還是會存在問題。最好的解決辦法就是推翻重新制定規(guī)則。

當我們在解決問題的時候,一定要考慮此處修改的方案是否會對后續(xù)邏輯產生影響,尤其是改別人的代碼邏輯,很多問題預料不到,推翻重寫成本太大,所以在以后寫業(yè)務代碼的時候一定要解耦,堆在一起的代碼,看的實在頭疼。

異步錯誤

代碼執(zhí)行的時機一直以來是一個比較嚴重的問題,比如我們常常發(fā)現(xiàn)的,數(shù)據(jù)已經請求到了,為什么頁面沒有顯示。

比如react中的setState,更新DOM樹是一個很耗時的工作,setState會等一個時機做批量的更新,而不是直接更新。

再比如很多同學想在forEach或map中使用async異步函數(shù),但是不要忘了,你接受的結果也是異步的。

概念理解錯誤

還有一些錯誤的因為你對事物本身不了解。

比如前幾天面試,有一個女孩說「 我剛用vue3寫了一個項目 」,那我就問「 那你vue3常用的語法有哪些 」,她的回答「 vue add、vue ui... 」。我當時腦子就大了。

還有群里哥們問的一個問題:

  1. ['1','2','3'].map(parseInt) 
  2. // [1, nullnull
  3. ['1','2','3'].map(Number) 
  4. // [1, 2, 3] 
  5. ['1','2DDDD','3'].map(parseFloat) 
  6. // [1, 2, 3] 

問:「 為什么parseInt不可以實現(xiàn)轉化 」

map接受方法參數(shù)是固定,只能減少,不能修改,parseInt接受的兩個參數(shù),第二個參數(shù)直接被改成了map規(guī)定的索引值,再執(zhí)行parseInt的邏輯,返回的肯定不對了。

換句簡單的理解就是parseInt接受的參數(shù)被map強行改為了索引:

  1. parseInt('2',1) 
  2. // NaN 
  3. parseInt('3',2) 
  4. // NaN 

 本文轉載自微信公眾號「驚天碼盜」,可以通過以下二維碼關注。轉載本文請聯(lián)系驚天碼盜公眾號。 

 

責任編輯:武曉燕 來源: 驚天碼盜
相關推薦

2023-12-15 10:42:05

2025-03-25 10:49:13

2024-02-26 00:00:00

前端工具Space.js

2022-01-19 09:03:01

工具

2022-04-15 09:01:18

前端工具UTF8編碼

2021-06-01 05:16:49

前端開發(fā)技術熱點

2023-12-06 14:23:24

2025-02-26 00:56:24

.Net開源項目

2024-01-29 00:51:39

前端開發(fā)利器

2024-01-18 00:16:07

2021-10-12 09:20:02

數(shù)據(jù)庫SQL腳本

2023-04-27 08:15:09

2019-10-17 16:02:44

高并發(fā)緩存瀏覽器

2018-09-20 17:05:01

前端程序員JavaScript

2020-01-09 09:56:47

Java集合框架

2020-02-23 23:29:07

Python編程開發(fā)

2021-04-13 05:36:18

C#null 可控

2019-07-12 08:45:07

開源微服務框架

2018-04-26 09:03:48

ApacheWeb服務器

2019-08-29 09:15:30

負載均衡算法備份
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.久草.com| 成人毛片一区二区三区 | 97国产精品视频 | 亚洲aⅴ精品 | 国产美女精品 | 中文亚洲视频 | 91久久久精品国产一区二区蜜臀 | 中文字幕在线视频免费视频 | 瑞克和莫蒂第五季在线观看 | 欧美黑人又粗大 | 久久99精品久久 | 性高湖久久久久久久久aaaaa | 国产激情91久久精品导航 | 亚洲福利精品 | 在线中文字幕第一页 | 亚洲成人av一区二区 | 日韩精品在线一区 | 亚洲国产成人久久久 | 国产精品夜夜春夜夜爽久久电影 | 亚洲天堂一区二区 | 日韩欧美精品一区 | 一区二区三区四区在线 | 免费av在线网站 | 亚洲在线视频 | 午夜丰满少妇一级毛片 | 精品国产欧美 | 国产香蕉视频 | 欧美精品在线免费观看 | 亚洲成人第一页 | 天天综合网永久 | 中文字幕精品一区二区三区在线 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 黄色一级毛片 | 美美女高清毛片视频免费观看 | 久久精品无码一区二区三区 | 日韩精品一区二区三区中文字幕 | 国产精品欧美一区二区三区 | 人人爽日日躁夜夜躁尤物 | 亚洲看片网站 | 久久成人人人人精品欧 | a级片播放|