当前位置: 首页 > news >正文

新吴区住房和建设交通局网站服装设计效果图

新吴区住房和建设交通局网站,服装设计效果图,企业邮箱怎么注册格式,石家庄最新封闭消息确切地说#xff0c;你不需要在IDE里面编写或者阅读代码。 IDE用于Render资源文件比较合适#xff0c;但处理文本#xff0c;并不划算。 这的文本文件#xff0c;包括源代码#xff0c;配置文件#xff0c;文档等非二进制文件。 先说说IDE带的便利: 函数或者变量的自动…确切地说你不需要在IDE里面编写或者阅读代码。 IDE用于Render资源文件比较合适但处理文本并不划算。 这的文本文件包括源代码配置文件文档等非二进制文件。 先说说IDE带的便利: 函数或者变量的自动补全函数或者类定义的跳转 但这些便利是有代价的。 IDE需要不断地扫描项目中的源码这是一个词法与语法分析的过程与编译过程类似只是不产生机器码而已。 这是一个非常耗时的过程使用过Android Studio或者Eclipse的同学应该体验深刻项目启动时实在太慢了。 启动之后文件已经有修改特别是Git分支切换或者版本回滚时整个机器卡壳几十秒钟是时常的事。 而且IDE还要求文件是可以编译的如果项目外文件或者项目文件不完整还不能实现这两个功能。 插一个真事有一次搞ROS开发ROS包基本都是Cpp与Python关键是ROS没有IDE而且开源的项目文件非常多有几个同事就瞎眼了。 经常找不到代码在哪里时不时要问我哪个功能在哪里就算知道代码也找不到文件。这就是长期依赖IDE的后果。 所以为这样两个功能把机器搞得龟速值得吗 解决方案 这个问题要权衡利弊以退为进 – 放弃IDE停止这种耗时扫描 对付文本文件直接可以采用蛮力搜索。 具体地说想找某个符号定义直接在整个目录中搜索。对于库中的符号第一次手输之后使用字符串补全。 注意这里对编程语言项目能不能编译是没有要求的。 看似暴力但直接了当逻辑简单绿色无污染。 因为单个文本文件很少会超过10M, 而整个项目的所有文本文件累计很少会超过50M。 grep整个目录通常就几秒的事情而且大部分情况是一瞬间的事。 这样做的结果是 不再依赖于任何IDE不再依赖于项目管理不再受限于编程语言 这个思想不限于Emacs我这前使用Vim也是这样干的。 不管Emacs还是Vim都是跨平台的意味着你从Windows到Unix甚至Mac都是如履平地的。 有什么比这个更加有吸引力? Vim可以使用Quickfix实现同样的功能。 这里只介绍Emacs的方案。 grep的关键一点是可以反复地对结果进行筛选这个非常非常重要。 想像一下grep一次给你1000条件记录有多大意义 但如果可以再次在这个1000中筛选那就非常不一样。 简单反复筛选可以做到万里挑一! 举例 按这个思想在QMK项目中找程序入口 这是一个相当规模的开源项目, 除去lib下的文件都有30000多个这是wc统计的结果 thinkDESKTOP-70MSAQ1 MINGW64 /f/AA-MyWork/QMK/keychron/qmk_firmware (mykeyboard-v1) $ git ls-files | wc -l 37042从三万个文件中找出一个函数并不容易 搜索main, 得到7000多条记录 搜索.c以过滤非C文件: 搜索void int, 原因main函数的参数或返回值无非这两个 搜索全字匹配main: 至此只有不到70项可以肉眼找到程序入口了。 这个过程中的 所有buffer都是保留 意味着如果我第二步筛选的条件错了还可以回到第一步结果中搜索直到你满意。 这是包括Vim在内的很多软件无法做到的但这个在试错过程中又非常重要。 具体实现 代码非常简单主要还是调用Emacs的grep与occur命令再切换到结果窗口. 开头几行只为了保存历史。 (global-set-key (kbd (concat custom-user-prefix-key /)) ich/grep) (global-set-key (kbd (concat custom-user-prefix-key l)) ich/occur)(defun ich/grep ( pattern directory )(interactive(list(custom/select-a-pattern Please input a pattern (grep): )(custom/select-a-directory Please select a directory (grep): )) )(custom/search-history-add pattern)(custom/save-search-history)(setq old-directory default-directory)(cd directory) (grep (concat rg . -n -H --no-heading -i -e pattern))(cd old-directory) (setq find nil)(setq i 0)(while (and (not find) ( i (length (window-list))))(if (equal *grep* (buffer-name))(setq find t)(other-window 1))(setq i (1 i)))(if find(quit-window))(switch-to-buffer *grep*))(defun ich/occur ( pattern )(interactive(list(custom/select-a-pattern Please input a pattern (occur): )))(custom/search-history-add pattern)(custom/save-search-history)(occur pattern)(setq find nil)(setq i 0)(while (and (not find) ( i (length (window-list))))(if (equal *Occur* (buffer-name))(setq find t)(other-window 1))(setq i (1 i)))(if find(quit-window))(switch-to-buffer *Occur*))
http://www.zqtcl.cn/news/175926/

相关文章:

  • 广州网站设计与制作公司windows优化大师官方下载
  • 找公司做网站要注意什么网站优化方法页面
  • 贵州省都匀市网站建设it培训机构培训排名
  • 网站开发的技术栈网页设计1920尺寸
  • 在中国可以做国外的域名网站吗中国建设银行人力资源网站
  • 中石化第四建设公司 网站电商app开发价格表
  • dhru商城网站建设免费英文网站建设
  • 公司建设网站的 计划书深圳华强北电子商城
  • 宁波网站建设有限公司大圣网站建设
  • wish网站应该怎么做网站的html代码在哪
  • 哪个网站可以做体育主播站长工具seo综合查询怎么去掉
  • 哪个网站做logo设计师公司做网站需要什么资料
  • 想自己做衣服上哪个网站学网站设计网上培训学校
  • 做餐饮的网站云匠网可能会遇到哪些问题
  • 制作网页网站的软件是网络科技公司怎么注册
  • 如何做百度推广网站价格网如何查产品价格
  • 织梦移动网站后缀找生意项目
  • 深圳高端网站建设美工步骤图
  • 指数网站网站用ps下拉效果怎么做
  • 李沧网站建设电话从化企业网站建设
  • 北京电商网站建设公司新康家园网站建设
  • 广西注册公司网站企业高端网站制作
  • 国安中建建设集团网站南京网页设计培训班
  • 网站如何制作建设内容社交电商平台
  • 无法连接到wordpress站点网站建设两个方面
  • 广东官网网站建设品牌未来做啥网站能致富
  • 网站建设合同副本珠海微网站建设
  • wordpress 多语言 站点数据分析师报名入口
  • 做网站长尾词品牌设计模板
  • 企业建立网站的优势阿里云做网站号码