文档章节

优秀的程序员为什么不喜欢GUI

-鹏
 -鹏
发布于 2017/08/13 16:06
字数 602
阅读 38
收藏 0

定义

 

所谓GUI,我的定义是以图形作为工作元素并以鼠标、键盘协同作为主要输入工具的工作方式。GUI通常使用大量的图标来标识命令,并且通过组织按钮、工具栏、对话框等元素的方式来试图提高界面的直观性和易用性。通常来说,GUI由于使用了大量的图形元素,看起来会比较美观。

     而CLI则自然是指主要以文本方式作为工作元素,并主要以键盘作为输入工具的工作方式。CLI采用直接输入命令和参数的方式直接向计算机发送各种指令,通过组织参数和命令的输入方法来试图提高工作效率。CLI中同样可以采用图形组件以使得界面更为美观,但这些图形组件并不像GUI中的那样具备实际的命令功能(否则就不该称为CLI了)。

 

CLI的好处

一, GUI 好处是所见即所得, 缺点恰好是所见即全部所得。

GUI 限制了使用人的,即页面上没有的,用户就无法或者很难实现。

二, GUI 不能完成 CLI 的一些复杂的组合特性。

CLI 中可以运用一些高阶技巧(比如组合,重定向等)实现一些复杂功能

三, 不同软件的GUI不一样,有时候不得不学习不同的软件

GUI软件层出不穷, 二CLI 却很少, 即使有多种 ,用法都是一样或相似的

四, 点击  和  下决策的 沉默成本

如果你使用GUI , 你不得不在区想按钮在哪。 这些在命令行中不存在的,你只要熟悉命令行,会发现效率提高很多。尽管快捷键在一定程度上提高了GUI的效率,但对于复杂的应用来说还是很不足够

 

 

最后总结:GUI和CLI不是敌对的,灵活运用两者的特点才能开发出更符合用户需求的人机界面

© 著作权归作者所有

共有 人打赏支持
上一篇: 移动端高清方案
下一篇: 机动车考试
-鹏

-鹏

粉丝 20
博文 155
码字总数 92388
作品 0
杭州
前端工程师
私信 提问
为什么优秀的程序员喜欢命令行

程序员的日常工作 The three chief virtues of a programmer are: Laziness, Impatience and Hubris. – Larry Wall 这个特点位于之首:唯有懒惰才会驱动程序员尽可能的将日常工作自动化起来...

两味真火
2017/01/26
2.6K
25
程序员招聘中我最喜欢问的10个问题

文章来源:PHP开发学习门户 地址:http://t.cn/RzSVlpL 最近我拜读很多文章,都是介绍面试问题的,我真心不理解,面试官代表公司想要聘用的是最优秀的程序员,那就意味着需要想出一些有意义的...

PHP开发学习门户
2014/12/04
0
0
如何判断自己是否具有成为一名优秀程序员的潜质

很多像这样的日子,当地上积起厚厚的雪时,我通常会燃起铁炉,把马蹄跌烧的通红,搓搓温暖的手,开始打造特制手工马蹄铁。 经过了5年多的专职钉马掌生活后,我开始问自己一个问题:我要一直这...

uw63zqpkxwlrl1
2017/12/19
0
0
Python图形开发包--wxPython

wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。 wxPython 是作为优秀的跨平台 GUI 库 wxWidgets 的 Python 封装和 Py...

匿名
2008/11/15
72.2K
0
成为优秀Java程序员的10大技巧

Java程序员有许多应遵循的守则或最佳实践方式。本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果。 1. 为代码添加注释(Add comments to your code)....

JAVA群450936584
2017/12/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

自定义线程池

自定义线程工厂: public class CustomThreadFactory implements ThreadFactory { private static final Logger LOGGER = LoggerFactory.getLogger(CustomThreadFactory.class); pu......

hensemlee
24分钟前
1
0
【剑指offer纪念版】-- 面试题目录

2.实现Singleton模式 3.二维数组中的查找 4.替换空格 5.从尾到头打印链表 6.重建二叉树 7.用两个栈实现队列 8.旋转数组的最小数字 9.斐波那契数列 【剑指offer纪念版】--9 斐波那契数列 10.二...

细节探索者
37分钟前
1
0
记一次oom内核优化记录:vm.lower_zone_protection

情景 最近gitlab服务会偶发性500,当前机器部署了gitlab、nfs等服务,经过排查发现是nfsd引发oom,导致系统运行不畅。处理过程如下: 事故现场 开发在使用gitlab的时候发现,偶发性的出现500...

阿dai
今天
4
0
Spring Batch JSON 支持

Spring Batch 4.1 开始能够支持 JSON 格式了。这个发布介绍了一个新的数据读(item reader)能够读取一个 JSON 资源,这个资源按照下面的格式: [  {    "isin": "123",    ...

honeymose
今天
0
0
浏览器缓存

HTTP缓存类型 200 from cache:直接从本地缓存获取响应,可细分为from disk cache, from memory cache 304 Not Modified:协商缓存,本地未命中发送校验数据到服务端,如果服务端数据没有改变,则读...

关元
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部