- 语言交互接口
Foreign Function Interface
FFI,中文名为语言交互接口(Foreign Function Interface),一个可以在某种计算机语言中调用其它语言的接口。
FFI(Foreign Function Interface)是用来与其它语言交互的接口,在有些语言里面称为语言绑定(language bindings),Java 里面一般称为 JNI(Java Native Interface) 或 JNA(Java Native Access)。由于现实中很多程序是由不同编程语言写的,必然会涉及到跨语言调用,比如 A 语言写的函数如果想在 B 语言里面调用,这时一般有两种解决方案:一种是将函数做成一个服务,通过进程间通信(IPC)或网络协议通信(RPC, RESTful等);另一种就是直接通过 FFI 调用。前者需要至少两个独立的进程才能实现,而后者直接将其它语言的接口内嵌到本语言中,所以调用效率比前者高。3 赞 · 1 评论 - 写代码的时间大头不在敲键盘,在读。而读的时候,你读的是名字。
一个叫 data 的变量,和一个叫 pendingRewardList 的变量,编译出来一模一样,但后者能让三个月后的你少花十分钟。
我现在的判断标准是:如果这个名字需要靠上下文才能理解,它就不合格。 上下文是会消失的 —— 函数会被抽走,代码会被复制,注释会被删掉,只有名字跟着走。
#代码质量#3 赞 · 0 评论 - 「能跑就行」在当下永远是划算的。它省掉的是今天的半小时,欠下的是三个月后某个人(大概率是你自己)的两天。
我不是说不能欠。排期紧的时候,欠技术债是理性的选择。问题在于很多人欠债不记账 —— 改的时候没留 TODO,没写进文档,甚至连自己都忘了当时为什么这么绕。
债务本身不致命,隐形的债务才致命。所以我现在允许自己写丑代码,但必须留下「为什么丑」的那句话。
#技术债# #程序员日常#3 赞 · 3 评论