首页 > 代码库 > 我的编程之路(十九) 开发中一些细节与启发
我的编程之路(十九) 开发中一些细节与启发
1.js的命名空间
如果写后台代码,分层是潜意识中的基本常识,但是一到了前台,却没了这种意识,归根结底还是js用的不多,也一直没有在意js的地位,直到现在富客户端的趋势与要求,使得很多代码都要在前台用js或其框架完成,所以对于js代码的管理就要像后台java代码一样有其规范了,而命名空间就是package,也是为了管理不同层次的代码。
2.闭包
闭包就是能够读取其他函数内部变量的函数。它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
关于闭包的剖析请参考:javascript深入理解js闭包
3.对象化、组件化、MVC\MVVC
对象化:面向对象开发(js)
组件化:将一些可以公用的功能抽取出来(html,Ext.component等)
4.熟悉api
以前以为知识面要广,至于一些技术细节,尤其是一些api,都不屑一顾,真正开发了,尤其是开发效率直接与你的api熟悉程度有关,很多时候,可以很简单解决的问题,因为不熟悉api,可能你要写很多代码自己实现,而且很可能还会为以后隐藏的bug付出很多精力···
5.正则表达式
以前一直没有重视正则表达式,前几天开发过程中经常要对用户的一些输入进行校验,俗话说得好:永远不要渴望用户会按照你的要求输入···,所以,要考虑很多你可能想都不会想的输入,所以,前台的验证显得尤为重要,尤其是当值传到后台时可能会出现为空,或者是数字,再或者是根据一些字符进行分隔,前台的正则表达式,可以简化你后台的很多异常处理或者判断。
6.EXT的两种提交:form的submit方式,Ext.Ajax.request方式,注意传参的时候最好不要再url将action、method、params一起传过去,最好用params属性,还可以用Ext.applyTo({})将参数组装为对象进行传参,后台获取数组,用request.getParameterValues()
7.将div写在html属性中,而不是jsp页面中:防止闭包内的组件找不到对应的div
8.Visual Studio2008调试js代码:在ie浏览器中——工具——选项——高级——将“禁用脚本调试”去勾,然后再js代码中加入“debugger”,运行后根据弹框将vs2008打开
9.用spring的jdbcTemplate查询,用到预处理语句,当你要替换的?正好在模糊查询之中,可以用以下代码解决冲突:like ‘%‘||?||‘%‘ or ? is null
10.开发中组员之间的冲突:
程序员都不怎么会做人,因为性格都比较直,所以一般都会得罪别人,而且都会有个致命的毛病:就是认为自己的永远是对的,所以总是把错误矛头指向别人,今天深深体会到了这一点。我也懒得理会,只能用实际证明问题不在我这里,就算你嗓门再大,听起来再在理,我给你证明就可以了,有句话说的话:满瓶子不响,半瓶子咣当。这是给大家,尤其是没有什么实际能力却自以为是的人的一个警钟···