热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

随想录(构建自己的代码库)

【声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:feixiaoxing@163.com】曾经有一段时间,我非常地苦恼,那就是如何提高自己的代码健壮性?难道

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】


    曾经有一段时间,我非常地苦恼,那就是如何提高自己的代码健壮性?难道,除了单元测试就没有别的办法了吗。这一问题困挠了我很久。直到最近才有了一丝眉目。作为整个完整的项目来说,它涉及到的不可控因素很多。而对个人来讲,困难的东西也很多,但是还是有很多办法可以提高个人开发效率的方法的。比如说,建立自己的代码库就是不错的一个办法。采用已经经过测试的方法,可以在短时间达到提高效率的方法。


(1)建立自己本地的函数库代码

    构建代码库是最基本的一个方法。比如说,如果对算法比较熟练,可以在本地创建一个基本的函数库代码。这些代码可以包括常用的一些基本算法和数据结构,比如说链表、栈、堆、二叉树、排序算法、查找算法等等。注意,这些代码只要自己用得顺手就可以,至于短时间能不能为别人通用,那就是后话了。


(2)创建跨平台的代码库

    现在,我们需要的代码常常需要实现跨平台的功能。因此,我们可以在本地构建一些基本的跨平台函数,比如说内存访问、线程互斥、文件操作、网络操作、数据库操作等等。当然,其他的因素比如说字节序、字节序也要进行考虑。因为构建本地跨平台的代码库是一项长期的基本工作,但是一旦做好了,不但可以提高自己最代码的理解能力,还能有效地提高自己的开发效率。


(3)对已经存在的业务模块进行抽象和提炼

    不可否认,我们现在的很多工作具有很大的重复性,那我们是否可以将业务进行提炼处理,抽象出一个基本的架构模块。独立出来的模块可以安排一个编译宏,如果模块本身没有支持,那么完全可以不让它参加编译。经过提炼出来的模块,不但可以具有很大的拓展性,而且在健壮性上面也会有保证。


(4)多使用开源库代码

    很多时候,我们使用开源库代码,不代表相应的代码我们自己没有办法写出来。只是因为效率和时间的问题。如果业界对此已经有一个比较公认和权威的代码,那我们自己实在是没有必要重复造车轮子。这方面的代码很多了,比如说lua、webkit、ffmpeg、zip、libpng、libjpg、lwip、ucos、sqlite、ftgk等等。只要我们对这些代码进行测试了,那么为什么别人的代码不能为我们所用呢?


(5)保存和改进自己的练习代码

    很多人都有一个不好的习惯,当然也包括我在内。那就是,我们不注意积累平常自己的练习代码。等到一段时间之后,就会发现自己曾经确实练习过这样的代码。可是原来的代码早已经不存在了。保存原来的代码,让我们的工作可以建立在一个更高的起点上面,同时节约了时间。现在的移动硬盘这么便宜,放几十兆或者上百兆的代码,我想应该是没有什么问题的吧。这总比dota、qq飞车、nba、实况足球、仙剑奇侠、天下、天龙八部的空间要少吧。




推荐阅读
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
  • SQLite3是一个广泛使用的数据库,从linux,windows到安卓都有SQLite的应用。本文介绍SQLite3在windows上的编译。SQLite3提供了多种源代码的下载 ... [详细]
  • Python使用SQLite1.sqlite3的安装python2.5.x以上版本默认自带sqlite3模块。2.链接sqlite3数据库```#导入sqlite3模块import ... [详细]
  • iOS关于移动端SQLite,你想知道的都有
    一、SQLite简介SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目 ... [详细]
  • 州的先生(https:zmister.com)在很多项目中都有使用到SQLite数据库作为数据存储的工具,其中包括一些桌面图形界面程序和线上的Web应用程序。至今为止,它们都运行良 ... [详细]
  • 数据库锁在SQLite中,锁和事务是紧密联系的。为了有效地使用事务,需要了解一些关于如何加锁的知识。SQLite采用粗放型的锁。当一个连接要写数据库,所有其它的连接被锁住,直到写连接 ... [详细]
  • 对于很多想做通讯录,或者很多想对系统通讯录操作的童鞋们肯定都会遇到个问题,系统通讯录操作很麻烦,我能不能直接看看底层联系人表结构呢?如果可以看到的话,那一定能提高相关操作的准确性和效率吧。  不多说, ... [详细]
  • 转自:http:www.cnblogs.comzeroonep4316346.html如果一个.NET应用要自适应32位64位系统,只需要在项目的“目标平台”设置为“AnyCPU”。但是 ... [详细]
  • nacos的github的链接:https:github.comalibabanacosreleasestag1.4.1nacos的ZIP的链接:htt ... [详细]
  • AI 学习路线:从Python开始机器学习
    AI 学习路线:从Python开始机器学习 ... [详细]
  • dremio的学习点滴
    在连接数据源后,进行数据源反射的创建,dremio会在本地创建一个类似于副本的文件,具体目录未知,当下次去执行sql时,则会启动加速器进行查询速度的优化。反射策略:fullupda ... [详细]
  • 1、背景-在项目的实施过程中,由于有dev环境和pro环境,这时会有两个redis集群,但是部分数据从甲方的三方数据库中获取存入生产环境的redis集群中,为了方便测试和数据校验, ... [详细]
  • php还能用多少年(php还行吗)
    导读:很多朋友问到关于php还能用多少年的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了redis调优的实战经验相关的知识,希望对你有一定的参考价值。本文根据redis的inf ... [详细]
  • SQLite–CONSTRAINTS(约束)约束是数据列在表上执行的规则。这些是用来限制的数据类型可以进入一个表。这样可以确保数据的准确性和可靠性在数据库中。    级或表级约束可 ... [详细]
author-avatar
书友55218170
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有