0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

程序员应该知道简单就是美

工程师人生 来源:工程师吴畏 2018-12-28 15:01 次阅读

我们经常会听到这样一句话——简单就是美,或者是这句话的各种变体,而且这句话不限于行业,不仅仅是在软件业,在各种涉及到设计艺术的领域,很多大师级的任务都会告诉我们,简单就是美。

在这里我当然只想针对软件开发相关的内容来谈,其实我们要解决的问题就是——到底要多简单呢?

对于UI设计——不需培训直接能使用

还记得曾经看过的基本讲述交互设计知识的几本书,其中都提到了,最简单也是最美的界面设计,就是用户直接就明白怎么用,而不需要长期的培训,对于这一点我深以为然,并且努力把这一点贯彻到自己所做的系统中。曾经记得自己帮朋友写了一个简单的库存管理系统,界面上没有菜单,只有几个必要的按钮,采用的是Office 2007的ribbon样式,并且精心挑选了几个意义鲜明的图标。朋友使用的时候,就告诉我,这个东西比他之前用过的财务软件好多了,那个东西培训了两个月还是不会使用,而且其中有太多用不到的字段,虽然不需要填写,但是看起来也比较别扭。而我这个东西,当时特意就没告诉他如何使用,只是说,很简单,看看就会了。达到的效果也很让我自己满意,真的是看看就会用了,哈哈。

其实想想成功的产品,比方说最近大卖的ipod、iphone、ipad等一系列苹果的东西,每一种的设计都是超级简单,没有过于复杂的界面和操作,这种美不用我说,已经得到了无数人的认可。

复杂的界面真的非常考验人,曾经见过最复杂的界面还是出现在对日项目中,同样最复杂的报表也在对日项目中,日本人对于基础知识的培训和学习,以及对复杂情况的耐心和毅力的确值得我们学习,如果让我整天面对那样复杂的界面,我可能早就崩溃了。(比方说,一个界面上放40个以上的控件,并且填写一个表单需要滚三屏,都是很可怕的)

我只能说,我是个懒人,不喜欢复杂的东西,解决问题喜欢用简单的方法,各种东西的使用我也愿意选择简单的。

其实,对于设计界面的人来说,或者说叫做交互设计师来说,设计最简单的界面,让用户能够尽快地上手使用,并且所有的使用习惯都与用户的传统习惯相符,本身就是对客户的一种尊重,另外,在市场上,一个产品是否能够取得成功,往往界面设计的好坏会起到非常重要的作用,因为简单易用的界面,会让人真正感受到其中的美,并赢得更多的用户。

上面我们所说的是最终用户所要面对的东西,而对于我们这些程序员整天所要面对的代码,又应该如何呢?我觉得代码的简单就在于——直接能看懂

我们在工作中,不可避免地会需要维护别人的代码,而我们自己编写的代码也经常会由别人来review和维护,那么代码的简单之美就非常重要了。

想要直接看懂代码,我觉得必不可少的有几点:

简短——每个方法都应该尽可能地短,有人提倡每个方法不超过四行,暂时我觉得还达不到那个标准,不过我们至少可以达到的是,每个方法只做一件事。曾经见过非常可怕的代码是有超过五层的if嵌套,而且每个嵌套里面的处理代码都无法显示在一屏之内,我直接就崩溃了,哈哈。

命名准确——这个应该是最有利于在维护的时候理解代码的了。业界中提倡的自解释代码也正是如此,如果变量、方法、类等等的名称都能够准确地表达出它的意义,那么阅读代码就和阅读说明书一样,自然所有的工作就都变得简单了。

恰当的注释——在某些时候,注释还是非常必要的,甚至对于自解释代码,有时还是有必要用注释来说明一下,毕竟其中还有计算机语言无法说明的业务逻辑在里面。当然,注释不应该是越多越好,某些项目中规定一定要有30%的注释量,还是有些值得商榷的。

最后想说说关于数据库的设计,我觉得这其中也必须应该贯彻简单就是美的原则,我们应该达到的标准是——直接能理解。

好的数据库设计对于系统的开发和维护都是非常重要的,特别是对于一些MIS、ERP、MRP等管理软件,数据库的设计在系统的架构中会起到举足轻重的作用。

我想应该把握下面的几个原则:

表中字段不要太多——每个表的字段数应该控制在30个之内吧,这个标准可能会因项目而异,只是一个基本的概念。想象一下吧,当在项目中遇到一个数据表的定义中有超过100个字段的时候,是不是感觉到很难处理呢?我在工作的过程中遇到过多次,这种大而全的表往往就是问题的多发地段。

名称合理——有些项目中,为了预防,往往会使用一些备用字段,或者放一些不一定代表什么意义的字段,它们的的名称可能就是一个字母带数字,比方说a1 a2 a3……这种字段真的是维护者的噩梦,它们可能在不同的情况下代表不同的意义,那样我们不仅仅需要一份数据库说明书,还需要针对每个字段在不同情况下的说明书。如果能够避免这种情况,每个名称都清晰地代表自身的意义,那么难度就会大大降低。

其实这里的原则和编码的原则基本是相通的,毕竟暂时我还是以程序员的角度来看待这个问题的。

总之,简单就是美,就是美啊就是美,你是不是也这么认为的呢?:)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序员
    +关注

    关注

    4

    文章

    949

    浏览量

    29744
收藏 人收藏

    评论

    相关推荐

    AI编程工具会不会抢程序员饭碗

    AI编程工具可辅助编程,减少手动编码,提升效率,对程序员有积极影响也有挑战。程序员需深化技能、拓宽知识应对。长远看,AI与人类程序员将共生共荣。
    的头像 发表于 11-08 10:17 21次阅读

    第五届长沙·中国1024程序员节开幕

    据官方媒体报道,10月24日;  第五届长沙·中国1024程序员节在湖南湘江新区开幕;本次中国1024程序员节以“智能应用新生态”为主题。设置有岳麓对话、技术英雄会、主题峰会及赛事、展览等活动,一场
    的头像 发表于 10-25 15:42 127次阅读

    京东上万程序员都AI用它!

    对大模型生成代码进行智能修复,为程序员开启代码漏洞修复的“自动驾驶”模式,不但减少人工接入、提高工作效率,更为企业抵御内外部各种攻击构建起一道坚固的安全屏障,确保业务的连续性和稳定性。 JoyCoder是京东云自主研发的一款辅助开发人员
    的头像 发表于 07-17 16:29 212次阅读
    京东上万<b class='flag-5'>程序员</b>都AI用它!

    程序员节视频创意大赛,用串口屏赢取千元大奖

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-08 10:38 72次阅读
    <b class='flag-5'>程序员</b>节视频创意大赛,用串口屏赢取千元大奖

    程序员节视频创意盛宴,邀您共襄盛举!

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-04 09:00 67次阅读
    <b class='flag-5'>程序员</b>节视频创意盛宴,邀您共襄盛举!

    助力程序员告别困扰已久的梦魇-Bug

    程序员的噩梦是什么?不用怀疑,就是让你加班到崩溃的Bug!下面是经过业界大佬们“长期加班”积累的小妙招,助力你离早下班又进一步~一、定位Bug范围及性质要有效解决问题,首先要缩小范围,集中关注最近
    的头像 发表于 07-02 08:10 237次阅读
    助力<b class='flag-5'>程序员</b>告别困扰已久的梦魇-Bug

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 363次阅读
    适者生存,<b class='flag-5'>程序员</b>最终会流向哪……

    薪资高、青春饭,是不是程序员=青楼?

    花期太短。技术迭代快,年龄大容易失业。 就这几年的互联网环境而言,不管是前端、Java、Android开发等等行业。已经感受到程序员不是太卷就是工作难找,薪资过低。以前高工现在拿着中低程序员薪资
    发表于 03-06 21:32

    瑞萨Flash程序员V3 发布说明

    电子发烧友网站提供《瑞萨Flash程序员V3 发布说明.pdf》资料免费下载
    发表于 02-19 09:37 1次下载
    瑞萨Flash<b class='flag-5'>程序员</b>V3 发布说明

    2024程序员的未来方向如何走?还看今朝

    这几年的IT行业想必大家已经感受到了,Android、Java、前端等等程序员都经历了大厂……
    的头像 发表于 02-02 09:45 754次阅读
    2024<b class='flag-5'>程序员</b>的未来方向如何走?还看今朝

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    的用户。从而导致Android、ios等市场减少,开发从业者会逐渐减少。而我们程序员现在最好的办法就是进军“鸿蒙圈”,鸿蒙生态不仅包括了鸿蒙应用层,还有鸿蒙生态圈:智能家居、车载、家电、数码、硬件等等开发
    发表于 01-16 22:13

    诚邀报名 | GPT驱动的新程序员时代,开发者如何编程?

    2023开放原子开发者大会 . OPENATOM DEVELOPERS CONFERENCE GPT驱动的新程序员时代 我们该如何编程 2023.12.17 生成式AI正以旋风般的速度重塑我们的工作
    的头像 发表于 12-11 22:20 498次阅读

    程序员表白程序

    电子发烧友网站提供《程序员表白程序.rar》资料免费下载
    发表于 11-21 10:41 16次下载
    <b class='flag-5'>程序员</b>表白<b class='flag-5'>程序</b>

    嵌入式程序员知道的几个基本问题

    电子发烧友网站提供《嵌入式程序员知道的几个基本问题.pdf》资料免费下载
    发表于 11-20 11:21 0次下载
    嵌入式<b class='flag-5'>程序员</b>应<b class='flag-5'>知道</b>的几个基本问题

    智能低代码洪流涌动程序员节,华为云 Astro 触发 1024 的乘法效应!

      从人工智能至量子计算,再到最新的云原生技术,越来越多的荣耀被程序员斩获。今年 1024 程序员节,华为云 Astro 向全民致敬:「低代码高产出 拓荒数字化版图——人人皆是程序员」,为全球工程师
    的头像 发表于 11-13 09:39 430次阅读
    智能低代码洪流涌动<b class='flag-5'>程序员</b>节,华为云 Astro 触发 1024 的乘法效应!