Comment On WTF avec accusé de réception.

David Boissonnault nous envoie une petite perle qu'il a trouvé par hasard sur le site de la poste Canadienne. Ce sont trois fonctions JavaScript qui sont présentes sur la page de recherche d'une tranche d'adresse.Vous remarquerez que chacune de ces trois fonctions est optimisable en une seule et simple ligne. [Texte complet]
« PrécédentPage 1Suivant »

Re: WTF avec accusé de réception.

2008-04-11 02:28 • par Pierre Tramo (non enregistré)
- 1. la méthode clear() n'est pas définie par le DOM (HTML Level 1) pour les objets HTMLFormElement; par contre reset() existe, mais malheureusement ne vide pas les champs, elle se contente de les remettre à leur valeur d'origine, qui n'est pas forcément vide. La première fonction est donc totalement légitime.

- 2. là je suis d'accord

- 3. la 'solution' de remplacement ne prend pas en compte l'éventuel séparateur '-', pris en compte dans la fonction

Il ne faudrait pas non plus prendre pour des WTF certaines fonctions utiles et les expressions rationnelles ne sont pas à franchement parler la solution ultime de validation...

Re: WTF avec accusé de réception.

2008-04-11 04:37 • par Jocelyn Demoy
189197 en réponse à 189175
La 1 passe encore (pour faire un raz sur un champ texte ...) mais la 2 et 3 sont difficilement défendable.

Les WTFs dépendent en effet du contexte et peut être dans certains cas ils sont même justifiés. Toute rectification est bonne à prendre Pierre mais d'après moi la page dans sa globalité penche quand même du coté WTF de la balance ;)

Au passage quelle serait la bonne regexp pour la 3?

Re: WTF avec accusé de réception.

2008-04-11 05:29 • par Pierre Guinoiseau (non enregistré)
@Pierre Tramo: "les expressions rationnelles ne sont pas à franchement parler la solution ultime de validation..."
Heu oui bien sûr... les regexps sont faites exprès pour cela, elles peuvent valider n'importe quel format de chaine de caractère, et sont très efficaces... et tu dis que ce n'est pas la meilleure solution ? Il te faut quoi ?

Re: WTF avec accusé de réception.

2008-04-11 08:59 • par Sylvain Mallet (non enregistré)
La première fois que j'ai vu le code pour valider les code postaux, je me suis dis que sa raison d'être était une validation exhaustive car les code postaux Canadiens ont certaines règles spécifique. Par exemple, les caractères D, F, I, O, Q, et U ne sont jamais utilisé; mais la fonction ne vérifie même pas ça.

Re: WTF avec accusé de réception.

2008-04-11 09:02 • par David Boissonnault (non enregistré)
Ahh désolé j'ai fait une petite erreur lors de mon envoi à Jocelyn, c'est pas .clear(); pour vider un form, mais bien .reset();

Re: WTF avec accusé de réception.

2008-04-11 09:19 • par David Boissonnault (non enregistré)
Pour la regexp pour le #3:
str.toUpperCase().replace(/[^A-Z0-9]/g,'').match(/^([A-Z][0-9]){3}$/)

Et même que le toUpperCase() est facultatif car en envoyant les requêtes sans passé par le formulaire, en minuscule, le serveur reconnais les codes postaux même en minuscule...

Re: WTF avec accusé de réception.

2008-04-11 10:31 • par Tamahome (non enregistré)
en ce qui concerne la ligne "/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/" ce n'est pas un WTF, c'est un code javascript fournit par une société tierce (Omniture en l'occurence) et que de très nombreux site utilisent (genre www.rushcollection.com par exemple). Aucun rapport avec la poste canadienne.

Re: WTF avec accusé de réception.

2008-04-11 11:49 • par Pierre Tramo (non enregistré)
189303 en réponse à 189199
les regexps sont faites exprès pour cela, elles peuvent valider n'importe quel format de chaine de caractère, et sont très efficaces

Je n'ai pas dit qu'elles n'étaient pas efficaces sur les chaines de caractères et personnellement, j'apprécie leur fonctionnement - pour des validations simples. Mon opinion sur la question est qu'il vaut mieux écrire une validation ad-hoc dès que la regexp qui ferait le même job fait plus de 20 caractères, pour des soucis de lisibilité et de facilité d'accès (oui, parce qu'il faut aussi penser aux personnes qui reprendront le code derrière et qui auront à interpréter mentalement la regexp).

Par contre, de là à dire qu'elles sont faites pour ça... Au départ une regexp, c'est surtout un moyen efficace de reconnaitre un motif et de le chercher dans un texte de taille conséquente. Les utiliser pour la validation n'est AMHA qu'un sous-produit de leur pouvoir de reconnaissance.

Ceci dit, on est vendredi soir et en plus d'être d'une mauvaise foi terrible, je me sentais en veine de troller un peu ;)

Re: Thank you, Javascript

2009-03-01 22:53 • par huojia (non enregistré)
  
货架racking.   仓储货架
南京货架设备要产品包括:重型货架
,阁楼货架,超市Shelf,重量型货架,横梁式货架,驶入式货架... 仓储笼
货架的形式与材料 · 立体仓库 · 货架厂
物流规划设计的步骤与程序(货架的设计... 中国物流行业呈现三足鼎立抢市场 · 亚洲第三方物流的现状和发展 ... 托盘
抽出式货架系列 · 重力式 货架/推入式货架钢托盘
移动式货架 · 阁楼式货架 · 悬臂式货架
系列 长件物料储存货架 货架公司

Re: www.shoppingugg.com

2009-04-23 10:09 • par rong1982 (non enregistré)
257624 en réponse à 257623

搬家搬家 搬家公司在職進修 婚紗 新娘秘書 汽車旅館 彩妝造型 新娘秘書 票貼 室內設計 室內設計 外遇 抓姦 應收帳款 徵信 徵信社 外遇 徵信 徵信社 外遇 植牙 牙齒矯正 坐月子 宜蘭民宿 婚禮佈置 宜蘭民宿推薦 催眠 派報 太陽能熱水器 Shade sail nike shoes 關鍵字廣告 租屋 搬家 搬家 買房子 花蓮民宿 花蓮民宿 花店 租房子 xo醬 房屋貸款 搬家公司 減肥 減重 床墊 創業加盟 團體服 學英文 英文 補習班 勞工體檢 資源回收 生日禮物 團體服 團體制服 班服 塑膠 日立家電 飾品批發 MBA 在职研究生 在职博士 电动隔膜泵 自吸泵 化工泵 离心泵 磁力泵 螺杆泵 水泵 隔膜泵 气动隔膜泵 婚禮佈置 婚禮佈置 婚禮佈置 酒店經紀 酒店經紀 班服配件 團體服配件 團體服 班服 團體服 班服 團體服 室內設計公司 室內設計公司 室內設計公司 金門高梁酒變頻洗衣機學英文



睡眠障礙 憂鬱症 躁鬱症 減重 瘦身 中醫減肥 台北中醫減肥 台中中醫減肥 高雄中醫減肥 產後減肥 下半身減肥 下半身瘦身 高雄眼鏡 屏東眼鏡 名牌眼鏡 太陽眼鏡 隱形眼鏡 鐵氟龍 PTFE 中壢花店 林口花店 南崁花店 金莎花束 歌倫比亞 雞腳凍 飲料加盟 太陽餅 月餅 口袋秤 度量衡 吊秤 吊磅 電子秤 磅秤 口袋秤 度量衡 吊秤 吊磅 電子秤 磅秤 招牌製作 招牌設計 廣告招牌 大圖輸出 電腦割字 招牌看板 廢鐵 廢銅 廢不銹鋼 廢電線 廢鋁 廢棄物 廢電纜電線 廢塑膠 制服 成衣 戒指 耳環 項鍊 對戒 手鍊 銀飾 飾品 對鍊 護理之家 台中花店 雞腳凍 歌倫比亞 考試 塑膠箱 塑膠容器 工具箱 物流箱 拖板車 自動倉儲 倉儲設備 自行車衣 自行車背包 自行車手套 車衣 債務更生 債務清理 法協 蜂蜜 蜂王乳花粉 農產品 草本膠囊 促進新陳代謝 排便順暢的方法 體內環保 塑膠射出 塑膠製品 塑膠箱籃 物流塑膠箱 休閒傢俱 庭園圍籬 高雄棺木 高雄壽衣 高雄禮儀用品 台北花店 台北網路花店 代客送花 線上訂花 情人節花束 便宜搬家 台北網路花店 代客送花 線上訂花 情人節花束 壓克力盒 壓克力製品 網版印刷 雷射切割 高雄商業攝影
« PrécédentPage 1Suivant »

Ajouter un commentaire