好的程序?好的程序?什么样程序是好的?为什么这样程序是好的?中国人从小就被“好坏”教育。面对任何事物,他们都能评出好坏来。评出结果出来,无非让复杂事物简单化,让人在第一时间能判别这件事好不好,这件事能不能做,好的就给予支持和赞美,好的就想去做就想做好。反之。我就不说了。
但是,好坏两个字好写,事物好坏的理由和标准却是绝对的复杂,有时甚至绝对的对立。从某种意义上来说,人类就是在事物的好坏上不断争斗中延续着自己。
“白日依山尽,黄河入海流,欲穷千里目,更上一层楼。”我们从小到大,经历过无数次教育,读过不知道多少本的书,看过不知道多少篇文章,能够记忆出来的,能够背诵出来的,能够打动自己心扉的,那就是诗了。诗成了生活的浓缩、提炼和升华。而诗人则成为历代百姓文人追捧的对象。虽然现代诗处于动荡和衰败过程之中,但是经过历史长河沉淀下来的名诗依然脍炙人口,让人永生难忘,几乎找不到一个连一句诗都不会说的人,可见诗的魅力无穷。
编写程序如同写文章,有的人会写成报告,有的人会写成小说,有的人会写成杂文,文体不限,各显神通。但是我认为,好的程序如同一首诗,读起来行云流水,韵味十足。诗中或工整对仗,或错落有致,或排比拟人,或比喻夸张,在程序中也能表现出来。
程序和诗歌都有内容和形式两个部分。内容是本质,反应了程序的功能,反应了程序的设计水平。形式是表现,反应了内容表述。好的程序应该象一首诗,有好的内容,有好的表现形式。我发现好程序和好诗歌一样都有一些要素,这两者要素有相当的共同点:
第一个要素是要有逻辑。程序的逻辑从大的方面来说是反映了程序的结构,结构清晰明了,才能引人入胜!例如,有诗的格律,如五言、七律等,诗歌只能按照格式填写,诗的格律就是诗的逻辑构架。程序的逻辑结构往往体现在时序上,例如:初始化处理、功能处理、结束处理。如此设计将使得程序更显逻辑。从小的方面来说是反映程序构架下的流程,流程次序井然、前接后续,才能使得程序执行顺畅。
第二个要素是用词。程序的用词一方面是指各种变量的命名方式,另一方面是函数命名的方式。程序的用词应该用英语,变量命名和函数命名其英文单词无论是用缩写还是全写都要符合大众读者的习惯,避免用生词、偏词、自造词。我们看到古今中外的名诗大都是用通俗易懂的词汇进行艺术组合而形成的。很少有非常用字出现。编程中要特别注意函数名中的主谓宾搭配,让读者读起来更加上口。
第三个要素是短小。编程如同编写文章,好的文章如歌如诗,其特点就是短小,一般的五言、七绝只用四行就能包含一个很深刻的主题了。编写程序也是相同的道理,要尽量让程序的行数减少。一方面要考虑总的程序行数减少,另一方面要增加函数,使得函数里的语句行数减少。
第四个要素是精炼。一首好诗能在几句话中就激发读者的情绪、鼓舞读者的斗志、展示大自然的美景,揭示各种人生哲理。其中主要原因是诗人能用精炼的词汇来表达诗的内容。对于编程来说,精炼就是多用函数,多用系统函数,让各种功能都浓缩在函数之中。
第五个要素是一致。一首好诗往往能读到排比、读到对仗这样的修辞手法。说到底这都是诗歌的一致性的要求。编写好的程序同样要注意一致性的要求,例如,我们尽可能采用相同的语句结构、相同的语句的缩进、相同的命名规则、相同的动词、相同长度的语句、相同计数变量、相同缓冲区变量、相同的处理函数、相同的处理流程等等。这些相同使得程序各个层次和各个方面看上去非常规范和一致。
当我们能用写诗的要求去编写程序,当我们能用诗朗诵的感觉去阅读程序,我们的程序员将不再机械地编写那毫无生命的代码,我们的程序员将充满激情谱写出一曲动人的乐章,感动着自己,也感动着读者。每一个代码充满着活力,是跳跃的艺术音符,无数个代码的组成却是流淌的诗,一段一段,一行一行,给人以诗的享受。我们可能永远不能写出传世之诗,我们却能够要求自己编写如诗的程序,享受那种写诗的过程和情趣。不断地追求诗的境界将会让我们的程序更加精炼、编程工作更加美好。
分享到:
相关推荐
《左手程序右手诗》是著名IT专家侯捷的一部作品,它揭示了侯捷的程序设计生涯和他的内心世界。侯捷在IT行业中以其深入的技术解析和独特的编程见解而闻名,他的著作深受程序员群体的欢迎。这本书通过“左手程序”与...
此外,资料可能还探讨了编程与诗歌在现代社会的应用,例如,如何利用编程来分析诗歌的韵律、结构,或者通过诗歌来阐述编程理念,甚至可能涉及到人工智能与诗歌创作的交叉领域,如AI作诗等前沿话题。 总之,《左手...
【标题】:“微信小程序毕业设计”中的“诗词鉴赏”项目源码...其背后的技术实现,如微信开发者工具和Mina框架的运用,是现代移动开发技术与传统文化结合的典范,对于学习小程序开发和提升用户体验有着重要的参考价值。
小程序的开发通常基于特定的框架,如微信小程序框架,它提供了一套自定义的标签语言和API接口,用于构建用户界面和处理业务逻辑。对于【诗词小助手小程序】来说,开发者可能使用了微信小程序框架进行开发,利用其...
在这款诗词朗读小程序中,uniapp可能被用来创建各种交互元素,如诗词展示、朗读控制、搜索功能等,同时其良好的性能优化能力保证了流畅的用户体验。 另一方面,thinkphp5.1是PHP领域内一款成熟的MVC(Model-View-...
随着智能应用程序开发的普及,各种应用程序在人们的视野中如雨后春笋般涌现。同时,带来了很多不便,功能多种多样,使人们无法选择。同时,它也对智能手机的存储容量进行了相当大的考验。硬件升级只是一个无奈的解决...
《左手程序右手诗》是著名IT专家侯捷先生的一部作品,上下两册全面展现了他丰富的程序设计经验和深厚的人生感悟。书名巧妙地将程序员的世界与诗意的生活相结合,揭示了侯捷先生在科技与人文之间寻找平衡的独特视角。...
飞诗CAD程序管理大一统 英文代号:FSTL http://fstl.ys168.com/ http://fsxm.mjtd.com/ 程序执行: 在命令行输入FSTL 打开程序管理面板; 在命令行输入 FS 打开默认程序包包快单对话框; 同时按下Shift+右键 ...
诗词同步学,每一道诗题都配备了优质的诗词内容注解和赏析。 积分商店,付费购买积分赚取利润。 好友排行榜支持,互相攀比提高活跃度。 更多好玩引流,支付宝吱口令红包返现。 每日签到领积分。 分享给好友、群获取...
8. **样式设计**:WXSS提供了丰富的样式选择器,如类选择器、ID选择器、伪类等,支持布局模型如Flex布局,使得小程序界面设计更加灵活。 9. **API调用**:微信小程序提供了大量的内置API,如地图、支付、地理位置等...
诗词同步学,每一道诗题都配备了优质的诗词内容注解和赏析。 好友排行榜支持,互相攀比提高活跃度。 每日签到领积分。 分享给好友、群获取积分。 模板消息提醒提高留存率。 源码更新日志: 版本号:2.0 – 单开自用...
2. **毕业设计**、**期末大作业**、**课程设计**:这些标签表明这个项目可能被用作教育用途,如学生在完成学业时的项目实践,可以作为学习微信小程序开发的一个实际案例。 3. **微信小程序**:表示该项目是基于微信...
在本项目"Python-全唐诗分析程序"中,我们将探讨如何利用Python进行文本分析,特别是针对古诗词的处理。项目主要使用了两个强大的库:thulac和gensim,它们在自然语言处理(NLP)领域发挥着关键作用。 thulac是一个...
在这个上下文中,"小偷采集"可能是指程序能够自动搜集网络上的文本信息,如诗词库,来辅助其自动生成诗歌的能力。 根据压缩包子文件的文件名称"poem",我们可以推测这个文件可能包含了程序的核心代码,或者是一个...
诗词黄金屋(后台 + 微信小程序)诗词黄金屋(后台 + 微信小程序)诗词黄金屋(后台 + 微信小程序)诗词黄金屋(后台 + 微信小程序)诗词黄金屋(后台 + 微信小程序)诗词黄金屋(后台 + 微信小程序)诗词黄金屋(后台 + 微信小...
微信小程序开发主要使用的是JavaScript语言,结合微信提供的WXML(WeiXin Markup Language)和WXSS(WeiXin Style Sheets)来构建页面结构和样式,同时也可能会用到一些微信小程序的API来实现特定功能,如网络请求、...
诗词答题小程序,支持单项选择题、文字线索题、看图猜诗词、读诗句猜谜等题目类型。 内置数千道题目,开箱即用。随机出题,先易后难。 诗词同步学,每一道诗题都配备了优质的诗词内容注解和赏析。 积分商店,付费...
微信小程序练手项目-诗词展示小程序(完整代码)微信小程序练手项目-诗词展示小程序(完整代码)微信小程序练手项目-诗词展示小程序(完整代码)微信小程序练手项目-诗词展示小程序(完整代码)微信小程序练手项目-诗词展示...
【诗词墨客-最全中华古诗词小程序】 “诗词墨客-最全中华古诗词小程序”是一个专为热爱中国古典文学的用户设计的应用程序。它集合了丰富的古诗词资源,涵盖了从先秦到清代的各个时期,旨在为用户提供便捷、全面的...