ProtoBuf 最佳实践

  1. Enum
    Enum 的第一个元素最好都是 INVALID,否则在很多场景下无法判断数据是否有效。

  2. Deprecated Field
    deprecated 的 field 不要删除!不要删除!不要删除!特别是那些会存储的数据(无论在哪一端)。

mac vim 疑难杂症

之前更新macOS Sierra,照例当然会出现一些问题。

YouCompleteMe 无法使用

在vim里UpdatePlugin并且重新编译YouCompleteMe.

./install.py --clang-completer --gocode-completer --tern-completer

但是会发现,启动vim仍然不行。

发现vim又是系统自带的版本,这个YCM的issueissue#2218上有类似的讨论。

解决方法是:ln -s /usr/local/opt/macvim/bin/mvim /usr/local/bin/vim,也可以指定到/usr/bin/vim(因为在我的系统上PATH里"/usr/local/bin"要靠前),但是这样最好备份系统自带的vim。