yyqng

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2021年1月17日

摘要: //主要有以下几种数据类型 //lua.h:72 #define LUA_TNONE (-1) // 无 #define LUA_TNIL 0 // 空 #define LUA_TBOOLEAN 1 // 布尔 #define LUA_TLIGHTUSERDATA 2 // 指针 void* 使用者 阅读全文
posted @ 2021-01-17 16:49 zziii 阅读(157) 评论(0) 推荐(0) 编辑

摘要: 1.1 前世今生 Lua于1993年诞生于巴西的Tecgraf实验室,Tecgraf主要专注于图形图像相关的工具研发。 (1)可移植性:使用clean C编写的解释器。 (2)良好的嵌入性:提供丰富的API供宿主与Lua脚本之间进行通信和交换数据。 (3)非常小的尺寸:Lua5.1源码只有一万多行。 阅读全文
posted @ 2021-01-17 12:26 zziii 阅读(246) 评论(0) 推荐(0) 编辑

2021年1月16日

摘要: 1. 使测试易于阅读和维护 测试代码的可读性和被测试代码同样重要。很多程序员会把测试代码看做非正式文档,它记录了代码如何工作及如何使用。 当测试代码多得让人望而却步,程序员不敢修改真实代码,不会再增加新的测试。从而对测试代码丧失信心。 2. 有问题的测试代码示例,后面要一一对它们进行修改。 1 vo 阅读全文
posted @ 2021-01-16 18:17 zziii 阅读(162) 评论(0) 推荐(0) 编辑

摘要: 最好读的代码就是没有代码 1. 别费神实现那个功能--你不会需要它 程序员倾向于高估有多少功能对项目来讲是必不可少的。 程序员还倾向于低估实现一个功能所要花费的功夫。 2. 质疑和拆分你的需求 不是所有的程序都要求运行得快,100%准确,并且能处理所有的输入。 如果把需求削减成一个简单的问题,那么也 阅读全文
posted @ 2021-01-16 16:46 zziii 阅读(61) 评论(0) 推荐(0) 编辑

摘要: 代码应当用“自然语言”编写 1. 清楚地描述逻辑 1 $is_admin = is_admin_request(); 2 if ($document) { 3 if (!$is_admin && ($document['username'] != $_SESSION['username'])) { 阅读全文
posted @ 2021-01-16 16:35 zziii 阅读(205) 评论(0) 推荐(0) 编辑

摘要: 应该把代码组织得一次只做一件事,任务可以很小 vote_changed(old_vote, new_vote); // each vote is "Up", "Down", or "" var vote_changed = function (old_vote, new_vote) { var sc 阅读全文
posted @ 2021-01-16 16:21 zziii 阅读(94) 评论(0) 推荐(0) 编辑

2021年1月12日

摘要: 所谓工程学就是把大问题拆成小问题,再把这些问题的解决方案放回一起。把这条原则应用于代码会使代码更健壮且更易读。 本章建议是:积极发现并抽取出不相关的子逻辑。 1. 纯工具代码 1 //C++中没有一个库函数读取整个文件,所以不可避免地要写以下的代码: 2 ifstream file(file_nam 阅读全文
posted @ 2021-01-12 23:12 zziii 阅读(90) 评论(0) 推荐(0) 编辑

2021年1月4日

摘要: 变量的草率运用会让代码更难理解 1. 减少变量 1)没有价值的临时变量 1 now = datetime.datetime.now() 2 root_message.last_view_time = now 3 4 #上面的 now 没有拆分复杂的表达式;没有更多的澄清;只用了一次。因此是冗余的。 阅读全文
posted @ 2021-01-04 18:36 zziii 阅读(117) 评论(0) 推荐(0) 编辑

摘要: 代码中的表达式越长,它就越难理解。本章看看各种操作和拆分代码以使它们更容易理解的方法。 1. 用做解释的变量 if line.split(':')[0].strip() == "root": -- username 为解释变量 username = line.split(':')[0].strip( 阅读全文
posted @ 2021-01-04 18:06 zziii 阅读(105) 评论(0) 推荐(0) 编辑

2021年1月3日

摘要: 1. 条件语句中参数的顺序 左边更倾向于使用变化的,右边更倾向于使用稳定的。 1 if (length >= 10) 2 // or 3 if (10 <= length) 4 5 while (bytes_received < bytes_expected) 6 //or 7 while (byt 阅读全文
posted @ 2021-01-03 23:37 zziii 阅读(106) 评论(0) 推荐(0) 编辑