工作一年多了。大学学的是材料,因为兴趣爱好,又修了计算机专业。进了一家制造业国企,本以为告别程序了,没想到进了公司就让我参与质保部信息管理系统的开发。本以为这是个好机会,又是工作又是爱好。这也是很多人希望的。因为公司说已经把这个系统做好了,让我过去帮帮忙,于是我就抱着学习的心态去了。当看到公司所谓开发的系统后,我崩溃了,就是一个Access数据库的应用,在上面写了几个界面。于是我很NB的说,这个系统我有更好的解决办法。公司领导就让我开始开发。然后就开始了我一个人的程序员生活。因为公司根本没人会编程。
背景说的太多了,我也是发发牢骚。想想这也是一个很好的学习机会。看到很多对程序员的建议,要多交流,要有总结的习惯等等。因此我也做一些总结:
我一开始计划采用B/S模式写信息管理系统。Server端采用.NET平台,C#语言,数据库是SQLSERVER,用的IDE是VS2008。Browser用Jquery+ajax,前端设计用DW。ashx连接两端。后台是处理与数据库交互和业务逻辑。Jquery+html把界面上的数据取出来,处理加工成后台所要的数据,然后用ajax发送过去,并处理用ajax请求数据并jquery+html显示在界面上。
后台的代码按照业务分类,一个业务就是一个类。一个业务里面包括对这个业务的删除、修改、添加的方法和其操作的数据对象。在目前接触的项目,我发现里后台代码都是类似的。只是在删除、修改、添加中的内部实现有些不同。还有可能我为了方便,把一些数据的处理放在了前端。不知道这样好不好的,因为在性能方面,我还不知道如何去衡量。
前端一开始,我编了大量零散的js代码。后来学习到了面向对象编程,加上写了一些注释,才好一些。今天看到了Dreamweaver的代码管理。我很高兴(大家不要笑我)。最近看到一个前端的技术:面向数据编程。我受益匪浅。按照其在改一个生产计划表,感觉好了很多。
我总是不喜欢用别人写好的插件什么的,方便是方便,只是当公司用户提出一些很变态的要求或者系统出现一些莫名其妙问题,我很想看看那些模块插件的source code。有些还好,有些看的我头疼,所以我总是按照其实现方式,自己写。于是我用Jquery写了一个集成查询与排序为一体的table(还没封装),自己的其实也蛮好的,学习jquery了。
web打印一直是B/S的结构的难题,我试了几个著名的插件都不好,当然我这回没有自己写(呵呵,水平还没到那)、我现在用IE自带的功能打印,但是每次要写大量的代码去显示格式。最近我在写导出excel的功能,感觉用excel,word去打印更方便。用ajax请求word、excel模板,然后把数据into model中,再打印,方便很多。至少我不用用代码写表格了。
现在觉得我写ajax+ashx这个处理过程,写的很烦,想写一个框架出来,看到网上有人已经写出来。抽空出来看看。
来公司这么长时间,我从一个大学里只会用VB写些无聊小程序慢慢学到了会用C#、Sqlserver触发器和存储过程、sql语句、jquery、ajax、面向对象设计、一部分设计模式的思想开发信息管理系统(当然我会,但是没有学精)。感觉还是不错的。
今天还悟到了一个道理,软件不按照采用的技术有多么先进衡量的,而是根据要看能满足用户多大的需求。满足的越多,说明你的软件越好。因为计算机的存在就是为了高效地解决人们遇到的问题。
数据库的设计、需求分析、设计方法这些高层的东西还要加强。尤其需求分析方面有没有什么可以参考的书籍?在寻找。。。。
一个人的编程。