编程经验/原则

  1.能简单尽量简单,比如:通过三元运算符(一个或者多个)可以完成的操作就不要用switch或者几个if来完成,否则显得多余难看。

  2.功能细分成模块,模块分成业务函数,同时要有分层思想。写一个功能的时候,要先把整个功能从头到尾想清楚怎么做,把一个功能拆分成几个小的模块,每个模块在分配到不同的类中去实现,而不要整个功能写在同一个函数里面。并且,要有分层思想,业务逻辑全部写在业务层,要时刻想着功能复用,想着另外还存在几个客户端,而业务层只有一个,并且那个类的功能就写在那个类里面,展现层就只需要业务层提供一个接口,最多就是一些简单的界面传值以及错误判断和跳转等等,业务层要提供一个整个功能的接口以供展现层调用就可以了。

  3.一个函数尽量控制在50行之内,多的话,就要考虑分块分函数实现了。

  4.功能先判断,再实现逻辑。一个函数,包括展现层和业务层都这样,先判断,在实现业务,所以一个功能一般都可以变成一个校验函数和一个业务实现函数。

  5.业务层抛异常,展现层处理异常。业务层主要是实现业务逻辑,同时也要做一些业务上的安全判断(比如校验等等),一般来说可以在展现层捕获业务层抛出来的异常,业务层做判断的时候可以直接抛异常到业务层去处理。但是要区分业务异常和正常的判断,正常的判断一般就是直接返回false,而业务异常是直接throw出异常的。这里强调一下,“正常判断”,“业务异常”,一个是带“业务”两个字的,比如一般数据完整性的判断,不符合完整性就不给于保存的就属于正常判断(比如登陆账号和密码不正确等),而一些非法的数据(可能是人误操作或者是恶意攻击,比如重复提交等)就直接抛出业务异常。

  6.数据库设计和框架设计要根据原型对上,同时要考虑扩展和向后兼容。

持续更新……

时间: 2024-10-13 05:44:04

编程经验/原则的相关文章

前端编程经验的总结

功能界面设计,涉及到的技术有前端的CSS+DIV布局,以前布局使用表格,框架,现在布局基本上 使用区块的浮动布局. 功能界面实际的一般思路是: >1. 首先是要有项目的需求分析,完成需求说明的文档,这个部分右需求分析是完成. >2. 功能界面的设计,这部分由美工和网站策划师完成. >3. 前端工程师完成功能界面的实现,必须分毫不差的实现美工的效果. >4. 布局完成,渲染完成之后,即可以为表单添加特效,校验及其他的特效等,也就是      前端工程师的脚本编程. >5. 有些

牢记20条编程经验

http://article.yeeyan.org/view/184220/150437 原文作者乔纳森·丹尼可(JonathanDanylko)是一位自由职业的Web架构师和程序员,编程经验已超过20年 1. 估算解决问题所需要的时间.不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时.为自己定一个时间限制吧,1小时.30分钟或甚至15分钟.如果在这期间你不能解决问题,那就去寻求帮助,或到网上找答案,而不是尝试去做“超级堆码员”. 2. 编程语言是一种语言,只是一种语

嵌入式C编程经验 之 全局变量猛于虎

/********************************************************************************* * Filename: 一线研发之声:嵌入式C编程经验 之 全局变量猛于虎 * Author:SedateFire          E-mail:[email protected] * Version:1.001                 Time: 2012-01-05 * key: 嵌入式  os-less  全局变量 

编程经验

所谓高手,就是说他在模仿的过程中不断比较自己写的东西和框架本身的差异,不断发现问题,想尽办法解决问题,思考得越多,你碰到的问题就会越多,这是一个正向循环,最终你的技术能力就会螺旋式的上升:而低手只会被动的等待问题,一旦问题自己觉得解决得差不多就放下了,这样自然就不会产生更多的问题,最终技术能力就始终停留在那个菜鸟阶段 1. 估算解决问题所需要的时间.不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时.为自己定一个时间限制吧,1小时.30分钟或甚至15分钟.如果在这期间你

遵循高效编程之原则

前言:清明时节雨纷纷,路上行人欲断魂.借问酒家何处有?牧童遥指杏花村.对于清明节,想必杜牧这首诗肯定会让你呼之既出.今天是清明放假的最后一天,打扫完家里的卫生,我就必须要抓紧美好的时光来记录下<高效能程序员的修炼>一书第三章"高效编程之原则"的读书札记. 永远都是你的错误 在怨天尤人之前,我们应该做好自我反省,努力先把自身的问题解决了. 这个原则永远都必须去遵守,很多时候,包括我,在遇到一个编程问题的时候,总是"情不自禁"的埋怨到:"这TM都谁

C++的XML编程经验――LIBXML2库使用指南[转]

C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言:2)LIBXML2库的Tutorial写得不太好,尤其是编码转换的部分,不适用于中文编码的转换:3)网上的大多数关于Libxml2的介绍仅仅是翻译了自带的资料,没有详细介绍如何在windows平台下进行编程,更很少提到如何解决中文问题. 基于以上几点原因,决定写一个在

20年资深程序员编程经验分享

原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术.房地产.医疗.保险和公用事业. 从11岁时,我就一直在编程,并且一直都很喜欢技术和编程.这些年来,我积累了一些艰难又容易的经验.作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的朋友. 虽然我想我会持续更新这些经验,可能还会有更多的感想,但就我这20年来看,我想下面这个列表中基本不需要增添额外的东西了.下面就是我至今最难忘的经验

[转载]风雨20年:我所积累的20条编程经验

原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术.房地产.医疗.保险和公用事业.正如乔纳 森在文中所言,本文适合刚毕业的大学生和刚入门的程序员.如果你已是高级开发人员,或许你在本文中看到自己的身影. 从11岁时,我就一直在编程,并且一直都很喜欢技术和编程.这些年来,我积累了一些艰难又容易的经验.作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的朋友. 我会持续更新这些经验,我可

61条面向对象设计的经验原则

你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚.但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起. -----Arthur J.Riel (1)所有数据都应该隐藏在所在的类的内部.p13 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者.p15 (3)尽量减少类的协议中的消息.p16 (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝).相等性判断.正确输出内容.从ASCII描述解析等等]. p16 (5)不要把实现细节(例如放置共用代码的私