软件开发小段子四则
人物说明: 大师:从事开发工作 20 年有余,精通各类编程语言,有着常人难以匹敌的软件工程经验,说话时惜字如金,有时会让人觉得有些神神叨叨(但人不坏)。 学徒:学习编程的时间不长,热衷于提升自己的软件开发技能,勤学好问。 1. 1 行代码与 20 行注释 一天,学徒问大师: … … View more
使用 import-linter 让你的 Python 项目架构更整洁
对于活跃的大型 Python 项目而言,维持架构的整洁性是一件颇具挑战的事情,这主要体现在包与包、模块与模块之间,难以保持简单而清晰的依赖关系。 一个大型项目,通常包含数以百记的子模块,各自实现特定的功能,互相依赖。如果在架构层面上缺少设计,开发实践上没有约束,这些模块间的依赖关 … … View more
答案在代码中:“实现需求”的双重含义
实现“石头、剪刀、布”游戏 一天,我在一个 Python 技术群里看到一段有意思的讨论。讨论始于这么一个需求: 题目:写代码模拟“石头、剪刀、布”游戏。由玩家 A 和 B 随机进行 10 次游戏并打印结果。要求:用数字 0 来表示石头,1 表示剪刀,2 表示布。 紧跟着的,是 … … View more
入行 14 年,我还是觉得编程很难
很多年前,当我还是一名计算机专业的大四学生时,整天上网浏览各类招聘信息,想找到一个合适的程序员实习岗位。 除了实习岗位外,我偶尔也会点进一些“高级工程师”的招聘帖里。现在回想起那些帖子,抛开让人眼花缭乱的技术名词,我印象最深的就是常出现在第一行的岗位年限要求:“本职位要求 工作经 … … View more
ChatGPT 正在杀死编程里的乐趣
本文完成于 2022 年末,我在其中分享了自己第一次使用 ChatGPT 编写一个 Python 程序的经历。写作时,我选择从“编程中的乐趣”切入,判断 ChatGPT 未来将改变人们从编程中获取乐趣的方式——天平将缓慢由“解决小谜题”向“规划与设计”倾斜。 如今过去了一年多, … … View more
如果编程就是写作
很多人会把编程比作写作,比如《Thinking in Java》的作者 Bruce Eckel 就说:“程序员就是作家。”二者的确也有许多相似之处,好文章和好代码,都离不精确的结构与优美的表达。写作时,每个人都能用词语拼出句子,组成文章,但并非所有人都能写出好文章,编程也是一样。 … … View more
Python 工匠:语句、表达式和海象操作符
让我们从两行最简单的 Python 代码开始。 >>> name = 'piglei' >>> print(f'Hello {name}!') Hello piglei! 这是一个“Hello World”程序,你也许已经见过它无数次,对里 … … View more
Go 的几种函数传参模式
1. 普通传参 Go 语言支持按顺序传入参数来调用函数,下面是一个示例函数: // ListApplications 查询应用列表 func ListApplications(limit, offset int) []Application { return allApp … … View more