程序是写给人用的

代码不是写给机器的,是给人看的:99% 程序员都低估了“代码审美“ 代码审美不仅关乎外观,更是专业素养的体现。本文揭示了代码可读性如何影响团队协作和职业发展,提供七项核心习惯提升代码质量,并通过真实案例展示优雅代码如何成为职场制胜关键。 阅读详情

编写程序的最终目的是让用户使用方便,而很多人在编写程序的时候却忘了这点,经常只是考虑如何实现方便,按照自己的想法去完成功能,没有站在用户的角度去考虑。举几个例子看看你有没有见到过。

    1、修改功能让用户重新编辑所有信息

    这是我在检查学生作业的时候遇到的,要修改图书信息,把添加图书的界面拷贝过来作为修改界面,关键是没有把原来的信息显示出来,用户只想修改一个字,结果要把所有信息全部重新录入,这样合适吗?

    2、删除功能让用户输入要删除的信息的编号

    谁记得住编号,你让输入编号?从用户的角度考虑,用户肯定希望先查找到相应的用户,然后再去删除。

    3、多余的跳转

    用户完成某个操作之后应该跳转到用户最有可能去的页面,而不是跳转到一个无用页面,让用户再进行一次选择。

    4、不必要的页面滚动

    每次要进行操作,需要先把界面向下滚动,因为界面上方显示的都是无用信息。

    5、不必要的时间输入

    登录时间、编辑时间这些信息让用户输入,需要输入吗?完全可以从系统获取,输入一方面增加了用户的工作,另一方面需要程序进行处理,而重要的是用户输入的时间可能不是真实的时间。

    6、让用户输入性别

    性别的种类有多少种啊,动动脑子是能算出来的,用户输入错了,提示用户应该输入“男”或者“女”,累不累啊,让用户选择多好啊,用户方便,程序还不需要进行太多验证,他好你也好啊。

    7、不必要的操作

    录入学生成绩这样的功能,首先显示学生列表。要录入一个学生成绩:a、然后选择某个学生,b、然后录入成绩并提交,c、然后提示用户录入成功并让用户选择继续录入还是退出,用户选择录入会返回列表,然后再选择学生...

录100个学生需要点击300次,你编程序不会体会得到,如果你用的话,你肯定会骂他的亲人。一个学生的成绩录完了,直接转到下一个学生的成绩录入界面多好啊,100个学生的成绩也就点击100次多一些。当然提供一个Excel导入功能更爽了,如果你站在用户的角度去想,你可能会去做。

    8、在很多无用的信息中查找有用的信息

    界面的布局非常不合理,为了查看有用的信息,首先要把无用的信息过滤掉。

    9、不合适的页面颜色、字体。

    10、不合适的状态操作

    已经审核的就不要再显示“审核”按钮了,不让操作的按钮就不要显示了。当然了,这样做你需要多些一段代码进行判断,可以不这样做,用户就可能会误操作,误操作了你还得进行处理,何苦呢?

    一些例子,实现世界中的不合理的应用可能会更多。其实很多问题是可以避免的。下面是我总结的几条:

    能从系统获取的信息应该从系统获取,例如登录时候的用户类型,经常使用的系统时间等。

    能让用户选择的信息让用户选择,而不是让用户输入。

    能让用户点击一次就可以完成的操作,不要让用户点击两次。

    编写程序之前要调查用户是如何使用这些功能的。编写程序的时候要站在用户的角度考虑。

李绪成 优快云 Blog:http://blog.youkuaiyun.com/javaeeteacher
优快云学生大本营:
http://student.youkuaiyun.com/space.php?uid=124362
如果喜欢我的文章,就加我为好友:
http://student.youkuaiyun.com/invite.php?u=124362&c=7be8ba2b6f3b6cc5

用程序去判断每个人说话的真假 - 写给新手的枚举介绍 背景我们在以前的数学题中一定遇到过这样的问题:A说xxxx B说xxx C说xxx然后给一些条件,让你判断每个人说话的真假这个题目是这样的: 计算机学院准备组织院篮球赛,某班有ABCDE五个同学商量组队参加,他们在讨论谁来打前锋的时候发生了争执,于是他们请了另一个班的同学J当评委,五个人PK百米速度,谁的速度最快就由谁来当前锋,其实五个同学速度相当,比赛结束时,J让他们猜猜排名情况 阅读详情

相关推荐

gcc/g++ 链接库的编译与链接

gcc/g++ 链接库的编译与链接 surgewong@gmail.com http://blog.youkuaiyun.com/surgewong       程序编译一般需要经预处理、编译、汇编和链接几个步骤。在实际应用中,有些公共代码需要反复使用,就把这些代码编译成为“库”文件。在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态(链接)库,其特点是可

Surge 4万+

【前端冷知识】JS之最佳实践(1)

Programs are meant to be read by humans and only incidentally for computers to execut...

奇舞周刊 234

鸿蒙OpenHarmony南向开发 轻量系统芯片移植指南(一)

OpenHarmony系统采用"系统>子系统>部件"层级架构,支持功能模块化裁剪。本文介绍了关键子系统及移植方法:1)启动恢复子系统负责内核到应用间的进程初始化,需配置启动入口标识及链接脚本;2)文件子系统提供基础文件操作接口,需适配HAL层文件读写功能,可通过Flash模拟、轻量文件系统或厂商自有方案实现。移植过程需修改config.json配置,添加对应组件定义及功能实现。系统采用模块化设计,开发者可根据实际需求灵活配置所需子系统功能。

yx525623的博客 1131

杂谈代码整洁

原文: 杂谈代码整洁 作者:russhe Programs are meant to be read by humans and only incidentally for computers to execute. ——Donald Knuth“代码始终是写给人看的,只是恰好能被计算机执行。”   什么是好的代码?局部干净,核心逻辑简洁。   本文是一篇总结笔记,是以往工作学习中关于如何实现“局部干净”的一些见闻、教训、团队实践和一些思考。写出整洁代码不仅需在函数、类级别上用功,也应该理解一些其..

TSINGHUAJOKING 1538

BIM Revit教程(六)尝试安装 Revit 时显示“Autodesk Revit 已安装。”

在安装Revit或RevitLT时,若系统提示“AutodeskRevit版本已安装”,通常是由于旧版本残留文件未完全清除所致。解决方案包括:1.通过控制面板或Windows设置卸载旧版本Revit,确保所有相关组件被移除;2.使用Autodesk卸载工具(AdskUninstallHelper)进一步清理;3.谨慎操作注册表,删除与Revit相关的残留项;4.确保系统有至少30GB的可用磁盘空间;5.完成上述步骤后,重新尝试安装Revit。此外,文章还提到了一个免费功能商店,供用户寻找提效工具,并鼓励粉丝

ZOZO_888的博客 2129

4、I3C协议详解

I3C最初的设计目的是为移动设备创建一个能够使用多个传感器的单一接口。随着现代化移动设备对于传感器数量的增加以及对性能的提高,I2C和SPI已经达到了他们所能支持的临界点,而I3C的出现就是为了解决这一问题,I3C可以在同一根主线上支持更多的传感器设备,而且不会因为要支持中断或睡眠模式而增加额外的逻辑信号。I3C可以在更低功耗的情况下提供更快的传输速率,该特性的提升不止是对移动设备,对其他的嵌入式设备也都是很大的帮助。例如穿戴设备,需要在有限的物理空间中使用多个传感器并且要求更小的耗电。 一、简述..

迟子涵925的博客 2万+

《代码大全》读后感(一) 代码首先是写给人看的

读《代码大全》与读别的书不一样的就是,总能找到共鸣。书中所讲到的很多问题都是工作中实际会遇到的,很多经验都是从实际工作中总结出来的。很多东西都是以往所看的其他类技术书籍不会提到或者不会重点提到的,但却是自己工作中有深刻体会的。     “代码是写给人看的”便是我感受最深的一条。      关于代码可读性的争论一直存在,各个论坛里社区上总会有关于是否需要加注释的争论,甚至优快云上还会有用拼音命

dfgj 7481

ShowDoc item_id 未授权SQL注入漏洞复现

2024年6月,ShowDoc官方发布新版本修复了一个SQL注入漏洞。鉴于该漏洞无前置条件,易于利用,且默认情况下可暴破用户token获取系统后台权限,建议所有使用该系统的企业尽快升级修复,以确保系统安全。

0xSec 2357

代码是写给人看的,不是写个机器看的

《计算机程序的构造和解释》(简称为SICP) 这本书提到,代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已。如果代码是写给机器看的,那完全可以使用汇编语言或者机器语言(二进制),直接让机器执行。   我觉得 高级语言(java,php等都算),之所以被称为是高级语言,是相对汇编和机器指令而言的,他们更加可阅读性,更加符合人类语言的阅读习惯。 低级语言让人看起来非常吃力,不容...

weixin_33910434的博客 623

数据分享|2023年OSM道路数据(全国,分省,分市)

首先这个工作非常有必要的,因为我们正常使用的道路的分类都是基于包括城市快速路、城市主干路、城市次干路这个体系的,大家对于这个分类体系应该更熟悉,但是OSM地图的道路分类又不是完全按这个来的,所以非常有必要重新分类;搞清楚道路类型是我们使用道路数据做很多工作的基础,比如我们在使用道路数据的时候,经常需要预估道路的行车速度,而这个速度一般就是根据道路类型来的,比如高架路的车速肯定就比城市支路快很多!下载分为两种情况,第一种是下载小区域的数据,比如下载一个街区的数据,第二种为下载整个中国范围的。

JData_Engineer的博客 4306

【仿真技巧】Smart Eye Probe在ADS信号仿真中的应用

Smart_Eye_Probe是一个眼探头,允许灵活数量的输入通道,输入通道支持单端或差分信号的混合,并且,可以使用一个共同的时钟信号触发通道的眼图。目前,仅支持瞬态(Transient)和通道(Channel Sim)逐位模式(Bit by bit)模拟,不支持信道统计(Statistical)模式和DDR总线(DDRSim)仿真。

一只豌豆象的博客 1270

写给那些想做程序员和不想做程序员的人

《写给那些想做程序员和不想做程序员的人》 首先说一说进入计算机专业的目的,我个人是因为十分喜欢IT业,很喜欢折腾电脑,所以在填报志愿是毫不犹豫的在报了的所有的学校都填写的计算机专业,梦想着进入计算机专业后能遇见很多高手,能交到几个知己,谁之进来后却大失所望。计算机专业的学生有很多以前对计算机不怎么了解,而且还有部分人进大学前连计算机摸都没摸过,对计算机很熟悉的很少,高手更是凤毛麟角,大多数人是服...

&Chost的博客 1万+

手把手教你学Simulink--基于Simulink的开关磁阻电机电流斩波控制仿真建模

特点:定子和转子均由普通硅钢片叠压而成,没有永磁体或绕组在转子上。工作原理:利用转子旋转时不同位置的磁阻变化产生转矩。控制挑战:由于SRM的高度非线性和磁饱和效应,需要复杂的控制算法来优化性能。利用Simscape Electrical中的模块构建SRM的物理模型,配置参数如电阻、电感等。matlab深色版本% 添加SRM电机模块根据实际需求调整电机参数。通过上述步骤,我们简要介绍了如何基于Simulink进行开关磁阻电机的电流斩波控制仿真建模。

MHD0815的博客 306

80后的程序员老鸟写给一些后起IT人的(仅代表本人看法)

82年的,老鸟。算是第二代搞程序的吧,C++Builder delphi起家(也许很多人都没听过吧)。DOS ucdos pctools玩过一年以上。我感觉自己应该算是老鸟了吧。 本人格言:如果一个 技术有人教你了,或者已经有书了,那么这个技术就落后了。 如果有一天你碰到一个问题,怎么样都找不到答案, 那么你应该高兴,因为你走在前沿了。 这两句是本人接近20年的程序生涯所感悟出来的(16岁开始写程序)。这就是我所经历的...

xtgmd168的专栏 7627

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【写给程序员】请不要做浮躁的人

【写给程序员】请不要做浮躁的人 1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。  2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。  3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看

acm学习讨论空间 675

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

写给想作程序员的人(转载)

 (一)我越来越认识到一点,要么象那些废人一样废掉,要么自己去努力寻求出路,反正别指望从工作中得到什么高明的经验了(教训倒也许有)。期间发生了一些感情上的纠纷,严重的影响了学习计划和效果,直到现在浮躁的心仍然有些浮躁。期间,我读了一些书,看了一些文章,编过一些小例程,搞了一些没有什么技术含量的开发工作,也和一些前辈和高手们谈过聊过。我一直在思考几个问题;如何学习软件开发?如何搞软件开发,国外的

foreverloveleehom的专栏 515

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

写给想通过程序员转型为项目经理的人

写了这么多硬技术文章,今天转一篇在blog.joycode.net看到的软技术文章,对想通过程序员转型为项目经理的人有一些用处。 广为流传的一个关于项目管理的通俗讲解古老虾 发表于 2005-11-9 13:25:50 想首先问大家一个问题:你觉得中国人聪明还是美国人聪明? 我见过最好的回答是美籍华人。 我们说美国人很愚蠢,为什么呢? 你们都考过T或G吧,他...

dengyang1887的博客 181

想象5年后的你-----写给对程序迷茫的人

想象5年后的你-----写给对程序迷茫的人 想起《想象5年后的你》这篇文章,源于到现在正好工作五年了,不短也不长,最近一起工作的同事刚刚学校毕业,实战经验不足,上手工作稍显吃力,但是当被问及三年之后的目标时,无独有偶统一的回答都是:“三年之后希望能独立设计完成某个模块的功能,希望能独挡一面”,每个人都迫切地希望实现自己的价值。 如果你希望三年之后能独挡一面,独立完成某个功能模块的设计,编码

wangdxh的专栏 777
上一篇: 程序是写给人用的
下一篇: instanceof操作符
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 32
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值