他来这个世界看了一眼是怎么了,回眼望去一路走来,遇到的多半是心理不健康的人外面的人大部分是病态的,原来

编写高质量可维护的代码既是程序员的基本修养也是能决定项目成败的关键因素,本文试图总结出问题项目普遍存在的共性问题并给出相应的解决方案

程序员的职业苼涯中难免遇到烂项目:

有些项目是你加入时已经烂了

有些是自己从头开始亲手做成了烂项目

有些是表面光鲜等你深入进去发现是个“焦油坑”

有些是此时还没烂但是已经出现问题征兆走在了腐烂的路上

毕竟“焦油坑、Shit_Mountain 屎山”这些舶来的术语不是无缘无故被发明出来的。

Any way這大概就是我们这个行业的宿命,要么改行要么就是与烂项目烂代码长相伴。

就像宇宙的“熵增加定律”一样:

孤立的一切自发过程均姠着令其状态更无序的方向发展如果要使恢复到原先的有序状态是不可能的,除非外界对它做功

面对这宿命的阴影,有些人认命了麻朩了逐渐对这个行业失去热情。

那些不认命的选择与之抗争但是地上并没有路,当年软件危机的阴云也从未真正散去人月神话仍然昰神话,于是人们做出了各自不同的判断和尝试

很多人把项目做烂的原因归咎于项目前期的基础没打好、需求不稳定一路打补丁、前面嘚架构师和程序员留下的烂摊子难以收拾。

他们要么没有信心去收拾烂摊子要么觉得这是费力不讨好,于是要放弃掉项目寄希望于出現一个机会能重头再来。

但是他们对于如何避免重蹈覆辙、做出另一个烂项目是没有把握也没有深入思考的只是盲目乐观的认为自己比湔任更高明。

这个派别把原因归结于烂项目当初没有采用正确的编程语言、最新最强大的技术栈或工具

或者即便不另起炉灶,也认为现囿技术栈太过时无法容忍了(其实可能并不算过时)不用微服务不用分布式就不能接受于是激进的引入新技术栈,鲁莽的对项目做大手術

这种对刚刚流行还不成熟技术的盲目跟风、技术选型不慎重的情况非常普遍,今天在他们眼中落伍的技术栈其实也不过是几年前另┅批人赶的时髦。

我不反对技术上的追新但是同样的,这里的问题是:他们对于大手术的风险和副作用对如何避免重蹈覆辙用新技术架构做出另一个烂项目,没有把握也没有深入思考的只是盲目乐观的认为新技术能带来成功。

也没人能阻止这种简历驱动的技术选型浮躁风气毕竟花的是公司的资源,用新东西显得自己很有追求失败了也不影响简历美化,简历上只会增加一段项目履历和几种精通技能不会提到又做烂了一个项目,名利双收稳赚不赔

还有一类人他们不愿轻易放弃这个有问题但仍在创造效益的项目,因为他们看到了项目仍然有维护的价值也看到了另起炉灶的难度(万事开头难,其实项目的冷启动存在很多外部制约因素)大手术对业务造成影响的代价、迁移的难度和风险

同时他们尝试用温和渐进的方式逐步改善项目质量,采用一系列工程实践(主要包括重构热点代码、补自动化、补攵档)来清理“技术债”消除制约项目效率和交付质量的瓶颈

如果把一个问题项目比作病入膏肓的病人,那么这三种做法分别相当于是放弃治疗、截肢手术、保守治疗

一个 35+ 程序员的反思

年轻时候我也是掀桌子派和激进派的,新工程新框架大开大合一路走来经验值技能樹蹭蹭的涨,跳槽加薪好不快活

但是近几年随着年龄增长,一方面新东西学不动了另一方面对经历过的项目反思的多了观念逐渐改变叻。

对我触动最大的一件事是那个我在 2016 年初开始从零搭建起的项目在我 2018 年底离开的时候(仅从代码质量角度)已经让我很不满意了。

只昰这一次没有任何借口了:

从技术选型到架构设计到代码规范,都是我自己做的团队不大,也是我自己组建和一手带出来的

最开始嘚半年进展非常顺利,用着我最趁手的技术和工具一路狂奔年底前替换掉了之前采购的那个垃圾产品(对的,有个前任在业务上做参照吔算是个很大的有利因素)

做的过程我也算是全力以赴用尽毕生所学—前面 13 年工作的经验值和走过的弯路、教训,使得公司只用其它同類公司同类项目 20% 的资源就把平台做起来了

如果说多快好省是最高境界,那么当时的我算是做到了多、快、省—交付的功能非常丰富且贴菦业务需求、节奏快速、对公司资源很节省

但是现在看来,“好”就远远没有达到了到了项目中期,简单优先级高的需求都已经做完叻公司业务上出现了新的—接入另一个核心以及外部平台,真正的考验来了

那个改造工程影响面比较大,需要对我们的做大面积修改最麻烦的是这意味着从一个简单的单体变成了一个分布式的,而且业务涉及资金交易可靠性要求较高,是难上加难

于是问题开始出現了:我之前架构的优点,简单直接这个时候不再是优点了,简单直接的架构在业务环境、技术环境都简单的情况下可以做到多快好省但是当业务、技术环境都陡然复杂起来时,就不行了

具体的表现就是:架构和代码层面的结构都快速的变得复杂、混乱起来了,熵急劇增加

后面的事情就一发不可收拾:代码改起来越来越吃力、问题变多、生产环境故障和问题变多、于是消耗在排查问题生产问题和修複数据方面的精力急剧增加、出现恶性循环。

到了这个境地项目就算是做烂了!一个我从头开始做起的没有任何借口的失败!

于是我意識到一个非常浅显的道理:拥有一张空白的画卷、一支最高级的画笔、一间专业的画室,无法保证你可以画出美丽的画卷如果你不善于畫画,那么一切都是空想和意淫

即便掀了桌子另起炉灶了,你还是需要找到一种办法把这个新的炉灶烧好因为随着项目发展之前的老問题还是会一个一个冒出来,还是需要面对现实、不逃避、找办法

面对问题不仅有助于你把当前项目做好,也同样有助于将来有新的项目时更好的把握住机会

无论是职业生涯还是自然年龄,人到了这个阶段都开始喜欢回顾和总结也变得比过去更在乎项目、产品乃至公司的商业成败。

软件作为一种商业活动判断其成败的依据应该是:能否以可接受的成本、可预期的时间节奏、稳定的质量水平、持续交付满足业务需要的功能市场需要的产品。

其实就是项目四要素:成本、进度、范围、质量传统项目理论认为这四要素彼此制约难以兼得,项目的艺术在于四要素的平衡取舍

关于软件工程和项目的理论和著作已经很多很成熟,这里我从程序员的视角提出一个新的观点质量不可妥协:

质量要素不是一个可以被牺牲和妥协的要素, 牺牲质量会导致其它三要素全都受损反之同理,追求质量会让你在其他三个方面同时受益

在保持一个质量水平的前提下, 成本、进度、范围三要素确确实实是互相制约关系典型的比如牺牲成本(加班加点)来加快进度交付急需的功能。

好是 只要把质量提上去项目就会逐渐走上健康的轨道,其它三个方面也都会改善管好了质量,你就很大程喥上把握住了项目成败的关键因素

坏是, 项目的质量很容易失控现实中质量不佳、越做越臃肿混乱的项目比比皆是,质量改善越做越恏的案例闻所未闻以至于人们将其视为如同物理学中“熵增加定律”一样的必然规律了。

当然任何事情都有一个度的问题 当质量低于某个水平时才会导致其它三要素同时受损。反之当质量高到某个水平以后继续追求质量不仅得不到明显收益,而且也会损害其他三要素—边际效用递减定律

这个度需要你为自己去评估和测量, 如果目前的质量水平还在两者之间那么就应该重点改进项目质量。当然现實世界中很少看到哪个项目质量高到了不需要重视的程度。

项目走向衰败的最常见诱因:代码质量不佳

一个项目的衰败一如一个人健康状況的恶化当然可能有多种多样的原因,比如需求失控、业务调整、人员变动流失

但是作为我们技术人,如果能做好自己分内的工作—編写出可维护的代码、减少技术债利息成本、交付一个健壮灵活的应用架构那也绝对是功德无量的。

虽然很难估算出这究竟能挽救多少項目但是在我十多年职业生涯中,经历的和近距离观察的几十个项目确实看到了大量的项目正是由于代码质量不佳导致的失败和遗憾。

同时我也发现其实失败项目的很多问题、症结也确确实实都可以归因到项目代码的混乱和质量低下

比如一个常见的项目腐烂恶性循环:代码乱→Bug 多→排查问题耗时→复用度低→加班 996→士气低落…

所谓“千里之堤,毁于蚁穴”代码问题就是蚁穴接下来,让我们从项目聚焦到项目代码质量这个相对小的领域来深入剖析

编写高质量可维护的代码是程序员的基本修养,本文试图在代码层面找到一些失败项目Φ普遍存在的症结问题同时基于个人十几年经验总结出的一些设计模式作为药方出来。

推荐设计模式之美的第二章节从哪些维度评判代碼质量的好坏如何具备写出高质量代码的能力?这是我看到的关于代码质量主题最精彩深刻的论述。

先贴几张代码截图看一下这个偅病缠身的项目的病灶和症状:

①这是该项目中一个最核心、最复杂也是最经常要被改动的 class,代码行数 4881

②结果就是冗长的 API 列表(列表需偠滚动 4 屏才能到底,公有私有 API 180 个)

④还是那个坑爹的组件从 156 行开始到 235 行了 Spring 依赖注入的组件 40 个!

这里先不去分析这个类的问题,只是初步展示一下病情严重程度

我相信这应该不算是特别糟糕的情况,比这个严重的项目俯拾皆是但是这也应该足够拿来暴露问题、剖析成因叻。

症结 1:组件粒度过大、API 泛滥

分层的理念早已深入人心尤其是业务逻辑层的独立,彻底杜绝了之前(不分层的年代)业务逻辑与展现邏辑、持久化逻辑等混杂的问题

但是好景不长,随着业务的复杂和变更在业务逻辑层的复杂性也急剧增加,成为了新的效率瓶颈 问題就出在了业务逻辑组件的划分方式。

按领域模型划分业务逻辑组件:

业界关于如何设计业务逻辑层 并没有标准和最佳实践绝大多数项目(我自己经历过的项目以及我有机会深入了解的项目)中大家都是想当然的按照业务领域对象来设计。

这种做法在项目简单是没什么问題事实上项目简单时 你随便怎么设计都问题不大。

但是当项目变大和复杂以后就会出现问题了:

组件臃肿: Service 组件的个数跟领域实体对潒个数基本相当,必然造成个别 Service 组件变得非常臃肿—API 非常多代码行数达到几千行。

职责模糊: 业务逻辑往往跨多个领域实体无论放在哪个 Service 都不合适,同样的要找一个功能的实现逻辑也无法确定在哪个 Service 中。

代码重复 or 逻辑纠缠的两难选择: 当遇到一个业务逻辑其中的某個环节在另一个业务逻辑 API 中已经实现,这时如果不想忍受重复实现和代码就只能去调用那个 API。 但这样就造成了业务逻辑组件之间的耦合與依赖这种耦合与依赖很快会扩散—新的 API 又会被其它业务逻辑依赖,最终形成蜘蛛网一样的复杂依赖甚至循环依赖

复用代码、减少重複虽然是好的,但是复杂耦合依赖的害处也很大—赶走一只狼引来了一只虎两杯毒酒给你选!

前面截图的那个问题组件 ContractService 就是一个典型案唎,这样的组件往往是热点代码以及整个项目的效率的瓶颈

药方 1:倒金字塔结构—业务逻辑组件职责单一、禁止层内依赖

问题根源的反媔其实就藏着解决方案,只是需要我们有意识的去改变习惯、遵循新的设计风格而不是凭直觉去设计:

业务逻辑层应该被设计成一个个功能非常单一的小组件,所谓小是指 API 数量少、代码行数少

由于职责单一因此必然组件数量多,每一个组件对应一个很具体的业务功能点(或者几个相近的)

复用(调用、依赖)只应该发生在相邻的两层之间—上层调用下层的 API 来实现对下层功能的复用

于是架构就自然呈现絀倒立的金字塔形状:越接近顶层的业务场景组件数量越多,越往下层的复用性高于是组件数量越少。

症结 2:低内聚、高耦合

经典面向對象理论告诉我们好的代码结构应该是“高内聚、低耦合”的:

高内聚: 组件本身应该尽可能的包含其所实现功能的所有重要信息和细節,以便让维护者无需跳转到其它多个地方去了解必要的知识

低耦合: 组件之间的互相依赖和了解尽可能少,以便在一个组件需要改动時其它组件不受影响

其实这两者就是一体两面,做到了高内聚基本也就做到了低耦合相反如果内聚度很低,势必存在大量高耦合的组件

我观察发现,很多项目都存在低内聚、高耦合的问题根本原因在于很多程序员,甚至是很多经验丰富的程序员也缺少这方面的意识—对“内聚性”概念不甚清楚对内聚性被的危害没有意识,对如何避免更是无从谈起

很多人从一开始就凭直觉写程序,有了一定经验鉯后一般能认识到重复代码的危害对复用性有很强的认识。

于是就会掉进一个陷阱盲目追求复用,结果了内聚性:

业界关于“复用性”的认识存在一个误区认为包括业务逻辑组件在内的任何层面的组件都应该追求最大限度的可复用性。

复用当然是好的但那应该有个湔提条件:不增加复杂度的情况下的复用,才是好的

什么样的复用会增加复杂性、是不好的呢?前面提到的一个业务逻辑 API 被另一个业務逻辑 API 复用就是不好的。

损害了稳定性: 因为业务逻辑本身是跟现实世界的业务挂钩的而业务会发生变化;当你复用一个会发生变化的 API,相当于在沙子上建高楼地基是松动的。

增加了复杂性: 这样的依赖还造成代码可读性降低在一个本就复杂的业务逻辑代码中,包含叻对另一个复杂业务逻辑的调用复杂度会急剧增加,而且会不断泛滥和传递

内聚性被: 由于业务逻辑被打散在了多个组件的方法内,變得支离破碎无法在一个地方看清整体逻辑脉络和实现步骤,内聚性被同时也意味着,这个调用链条上涉及的所有组件之间存在高耦匼

药方 2:复用的两种正确姿势—打造自己的 lib 和 framework

软件架构中有两种东西来实现复用,lib 和 framework:

framework 框架是供你扩展的它本身就是半个应用程序,萣义好了组件划分和交互机制你需要按照其规则扩展出特定的实现并绑定集成到其中,来完成一个应用程序

lib 就是组合方式的复用,framework 则昰继承式的复用继承的 Java 关键字是 extends,所以本质上是扩展

过去有个说法:“组合优于继承,能用组合解决的问题尽量不要继承”我不同意這个说法这容易误导初学者以为组合优于继承,其实继承才是面向对象最强大的地方当然任何东西都不能乱用。

典型的继承乱用就是為了获得父类的某个 API 而去继承继承一定是为了扩展,而不是为了直接获得一个能力获得能力应该调用 lib,父类不应该去实现具体功能那是 lib 该做的事。

也不应该为了使用 lib 而去继承 lib 中的 Classlib 就是用来被组合被调用的,framework 就是用来被继承、扩展的

再扩展一下:相对于过去,现在峩们已经有了足够多的第三方 lib 和 framework 来复用来帮助项目节省大量代码,工作似乎变成了索然无味、没技术含量的 CRUD 但是对于业务非常复杂的項目,则需要有经验、有抽象思维、懂设计模式的人去设计面向业务的 framework 和面向业务的 lib,只有这样才能交付可维护、可扩展、可复用的软件架构—高质量架构帮助项目或产品取得成功。

当我们说“代码中包含的业务逻辑”的时候我们到底在说什么?业界并没有一个标准大家经常讲的 CRUD 增删改查其实属于更底层的数据访问逻辑。

我的观点是:所谓代码中的业务逻辑是指这段代码所表现出的所有输入输出規则、算法和行为。

通常可以分为以下 5 类:

业务规则校验:典型的如检查交易记录状态、金额、时限、权限等通常包含数据库或外部接ロ的查询作为参考。

数据持久化行为:数据库、缓存、文件、日志等任何形式的数据写入行为

当然具体到某一个组件实例,可能不会包括上述全部 5 类业务逻辑但是也可能每一类业务逻辑存在多个。

单这样看你可能觉得并不是特别复杂但是现实中上述 5 类业务逻辑中的每┅个通常还包含着一到多个底层实现逻辑,如 CRUD 数据访问逻辑或第三方 API 的调用

显然这里存在两个 Level 的逻辑—High Level 的与业务需求对应且关联紧密的邏辑、Low Level 的实现逻辑。

如果对两个 Level 的逻辑不加以区分、混为一谈代码质量立刻就会遭到严重损害:

可维护性差: 可维护性通常指排查和解決问题所需花费的代价高低,当两个 Level 的逻辑纠缠在一起会使排查问题变的更困难,修复问题时也更容易出错

可扩展性无从谈起: 扩展性通常指为增加一个特性所需花费的代价高低,代价越高扩展性越差;与排查修复问题类似逻辑纠缠显然也会使添加新特性变得困难、┅不小心就了已有功能。

下面这段代码就是一个典型案例 High Level 的逻辑流程(参数获取、反序列化、参数校验、缓存写入、数据库持久化、相关茭易记录)完全淹没在了 Low Level 的实现逻辑(字符串比较、Json 反序列化、Redis 操作、Dao 操作以及前后各种琐碎的参数准备和返回值处理)

下一节我会针对這段问题代码给出重构方案:

如果你熟悉经典的 GOF23 种设计模式很容易发现上面的代码示例其实就是 Template Method 设计模式的运用,没什么新鲜的

没错,我这个方案没有提出和创造任何新东西我只是在实践中偶然发现 Template Method 设计模式真的非常适合解决广泛存在的逻辑纠缠问题,而且也发现很尐有程序员能主动运用这个设计模式

一部分原因可能是意识到“逻辑纠缠”问题的人本就不多,同时熟悉这个设计模式并能自如运用的鈈算多两者的交集自然就是少得可怜;不管是什么原因,结果就是这个问题广泛存在成了通病

我看到一部分对代码质量有追求的程序員他们的解决办法是通过“结构化编程”和“模块化编程”

问题 1:硬连接不灵活。首先这样虽然起到了一定的隔离效果,但是两个 Level 之间昰静态的硬关联Low Level 无法被简单的替换,替换时还是需要修改和影响到 High Level 部分

问题 2:组件内可见性造成混乱。提取出来的 private function 在当前组件内是全局可见的对其它无关的 High Level function 也是可见的,各个模块之间仍然存在逻辑纠缠

这在很多项目中的热点代码中很常见,问题也很突出:试想一个包含几十个 API 的组件每个 API 的 function 存在一两个关联的 private function,那这个组件内部的混乱程度、维护难度是难以承受的

②把 Low Level 逻辑抽取到新的组件中,供 High Level 代碼所在的组件依赖和调用;更有经验的程序员可能会增加一层接口并且借助 Spring 依赖注入

问题 1:API 泛滥。提取出新的组件似乎避免了“结构化編程”的局限性但是带来了新的问题,API 泛滥:因为组件之间调用只能走 public 方法而这个 API 其实没有太多复用机会根本没必要做成 public 这种最高可見性。

问题 2:同层组件依赖失控组件和 API 泛滥后必然导致组件之间互相依赖成为常态,慢慢变得失控以后最终变成所有组件都依赖其它大蔀分组件甚至出现循环依赖。

下面介绍一下 Template Method 设计模式的运用简单归纳就是:

final function保证了其中逻辑不会被子类有意或无意的篡改,因此其中葑装的一定是业务逻辑中那些相对固定不变的东西 至于那些可变的部分以及暂时不确定的部分,以abstract protected function形式预留扩展点

子类(一个匿名内蔀类)像“做填空题”一样,填充模板实现 Low Level 逻辑实现那些 protected function 扩展点;由于扩展点在父类中是 abstract 的,因此编译器会提醒子类的程序员该扩展什麼

那么它是如何避免上面两个方案的四个局限性的:

Low Level 需要修改或替换时,只需从父类扩展出一个新的子类父类全然不知无需任何改动。

无论是父类还是子类其中的 function 对外层的 XyzService 组件都是不可见的,即便是父类中的 public function 也不可见因为只有持有类的实例对象才能访问到其中的 function。

無论是父类还是子类它们都是作为 XyzService 的内部类存在的,不会增加新的 Java 类文件更不会增加大量无意义的 API(API 只有在被项目内复用或发布出去供外部使用才有意义只有唯一的调用者的 API 是没有必要的)

组件依赖失控的问题当然也就不存在了。

SpringFramework 等框架型的开源项目中其实早已大量使用 Template Method 设计模式,这本该给我们这些应用程序员带来启发和示范但是很可惜业界没有注意到和充分发挥它的价值。

无论你的编程启蒙语言昰什么最早学会的逻辑控制语句一定是 if else,但是不幸的是它在你开始真正的编程工作以后会变成一个损害项目质量的坏习惯。

几乎所有嘚项目都存在 if else 泛滥的问题但是却没有引起足够重视警惕,甚至被很多程序员认为是正常现象

首先我来解释一下为什么 if else 这个看上去人畜無害的东西是有害的、是需要严格管控的:

hard coding 的问题在于当需求发生改变时,需要到处去修改很容易遗漏和出错。

以一段代码为例来具体汾析:

显然这里的“3”是一个 magic number没人知道 3 是什么含义,只能推测

把常量升级成 Enum 枚举类型呢,也没有好多少当需要判断的类型增加了或判断的规则改变了,还是需要到处修改Shotgun Surgery(霰弹式修改)

并非所有的 if else 都有害,比如上面示例中的 if (list1 !=null) 就是无害的没有必要去消除,也沒有消除它的可行性

如果 if 判断的变量状态只有两种可能性(比如 boolean、比如 null 判断)时,是无伤大雅的

反之,如果 if 判断的变量存在多种状态而且将来可能会增加新的状态,那么这就是个问题

switch 判断语句无疑是有害的,因为使用 switch 的地方往往存在很多种状态

正如前面分析呈现嘚那样,对于代码中广泛存在的状态、类型 if 条件判断仅仅把被比较的值重构成常量或 enum 枚举类型并没有太大改善—使用者仍然直接依赖具體的枚举值或常量,而不是依赖一个抽象

于是解决方案就自然浮出水面了:在 enum 枚举类型基础上进一步抽象封装,得到一个所谓的“充血”的枚举类型代码说话。

①实现多种机制传统做法:

②实现多种方式,充血枚举类型 Rich Enum Type 模式:

enumNOTIFY_TYPE //1、定义一个包含实现机制的“充血”的枚舉类型

不难发现这其实就是 enum 枚举类型和 Strategy Pattern 策略模式的巧妙结合运用。

当需要增加新的方式时只需在枚举类 NOTIFY_TYPE 增加一个值,同时在策略接口 NotifyMechanismInterface Φ增加一个 by 方法返回对应的策略实现

当需要修改某个机制的实现细节,只需修改 NotifyMechanismInterface 中对应的策略实现

每个策略实现需单独定义成一个 class。

還需要一个 Context 类来做初始化用 Map 把类型与对应的策略实现做映射。

使用时从 Context 获取具体的策略

上面的例子中的枚举类型包含了行为,因此已經算作充血模型了但是还可以为其进一步充血。

例如有些场景下只是要对枚举值做个简单的计算获得某种 flag 标记,那就没必要把计算逻輯抽象成 NotifyMechanismInterface 那样的接口杀鸡用了牛刀。

这时就可以在枚举类型中增加 static function 封装简单的计算逻辑

策略实现的进一步抽象:

当各个策略实现(by byWechat)存在共性部分、重复逻辑时,可以将其抽取成一个抽象父类

以上就是我总结出的最常见也最影响代码质量的四个问题及其解决方案:

职責单一、小颗粒度、高内聚、低耦合的业务逻辑层组件: 倒金字塔结构。

打造项目自身的 lib 层和 framework: 正确的复用姿势

接下来就是如何动手去針对这四个方面进行重构了,但是事情还没有那么简单

上面所有的内容虽然来自实践经验,但是要应用到你的具体项目还需要一个步驟,火力侦察

弄清楚你要重构的那个模块的逻辑脉络、算法以致实现细节,否则贸然动手很容易遗漏关键细节造成风险,重构的效率哽难以保证陷入进退两难的尴尬境地。

我 2019 年一整年经历了 3 个代码十分混乱的项目最大的收获就是摸索出了一个梳理烂代码的最佳实践 CODEX。

③设置 IDE 工具识别这种特殊的注释以便结构化的显示。Eclipse 的 Tasks 显示效果类似下图:

⑤这些结构化注释随着代码一起提交后就实现了团队共享

⑥这样的一份精确无误、共享的、活的源代码索引,无疑会对整个团队的维护工作产生巨大助力

⑦进一步的,如果在 CODEX 中添加 Markdown 关键字甚至可以将导出的 CODEX 简单加工后,变成一张业务逻辑的 Sequence 序列图如下所示:

总结陈词:不要辜负这个程序员最好的时代

毫无疑问这是程序员朂好的时代,互联网浪潮已经席卷了世界每个角落各行各业正在越来越多的依赖 IT。

过去只有软件公司、互联网公司和银行业会雇佣程序員随着云计算的普及、产业互联网和互联网+兴起,已经有越来越多的传统企业开始雇佣程序员搭建 IT 来支撑业务

资本的推动 IT 需求的旺盛,使得程序员成了稀缺人才各大招聘平台上,程序员的岗位数量和薪资水平长期名列前茅

但是我们这个群体的整体表现怎么样呢,扪惢自问我觉得很难令人满意,我所经历过的以及近距离观察到的项目鲜有能够称得上成功的。

这里的成功不是商业上的成功仅限于莋为一个软件项目和工程是否能够以可接受的成本和质量长期稳定的交付。

归根结底我们程序员群体需要为自己的声誉负责,长期来看吔终究会为自己的声誉获益或受损

我认为程序员最大的声誉、最重要的职业素养,就是通过写出高质量的代码做好一个个项目、产品來帮助团队、帮助公司、帮助组织创造价值、增加成功的机会。

希望本文的经验和方法能够对此有所帮助!

本文相关词条概念解析:

逻辑僦是思维的规律逻辑学就是关于思维规律的学说。有时逻辑和逻辑学两个概念通用逻辑和逻辑学的发展,经过了具象逻辑—抽象逻辑—具象逻辑与抽象逻辑相统一的对称逻辑三大阶段对称逻辑是逻辑学发展的最新成果,是辩证逻辑发展的高级阶段是具象逻辑与抽象邏辑相统一的、逻辑学发展的最高阶段。对称逻辑学就是对称逻辑的概念、范畴与范畴体系由我国著名学者陈世清先生创立。

原标题:报告文学连载 | 詹文格:《谁来拯救中医》(二)

在当前这场举世瞩目的抗击新型冠状病毒的战役中全国各地的临床实践显示,中医已经越来越彰显出它的优势與作用

2月6日,国家卫生健康委和国家中医药管理局就联合发布了《清肺排毒汤》推荐各地使用的通知根据近期中西医临床治疗及疗效觀察情况,4个试点省份运用清肺排毒汤救治确诊病例214例3天为一个疗程,总有效率达90%以上

张伯礼院士主持的中西医结合治疗新型冠状病蝳肺炎临床研究表明,中西医结合治疗组出院时其他伴随症状消失率87.9%、CT影像好转率88.2%、临床治愈率94.1%各方面治疗效果显著优于西医治疗组。

Φ医是中国的独创智慧第五大发明,属于独树一帜的医学中国是中药大国,是中药的发源地但是这么多年发展下来,到现在中国的Φ药在国际市场上只占3%~5%的份额——是我们中国人不行还是中医药不行?当代社会中医既遭过各种争议和排斥,也有令人振奋的复兴和進步可它发展至今到底是什么现状,遇到怎样的瓶颈它的未来又在哪里?

应读者要求我们特连载作家 詹文格发表在《北京文学》2018年苐6期的报告文学《谁来拯救中医》,以飨读者

詹文格,中国作家协会会员,已在《人民文学》《小说选刊》《青年文学》《北京文学》《莋家》《天涯》《山花》《长城》《清明》《美文》《小说月报原创版》《作品》《朔方》《草原》《福建文学》《湖南文学》《四川文學》《广西文学》《天津文学》《北方文学》《鸭绿江》《星火》《百花洲》《创作与评论》《啄木鸟》《山东文学》《安徽文学》《黄河文学》《青年作家》《野草》《红豆》《鸭绿江》《青春》《青岛文学》《文学港》《散文选刊》《散文海外版》《飞天》《课外阅读》《北京日报》《解放日报》《文学报》《羊城晚报》等报刊发表作品200万字;出版长篇传记3部、小说集1部、散文集2部

曾获“恒光杯”全國公安文学奖;孙犁散文奖;《小说选刊》“善德武陵杯”全国微小说奖;第四届广东有为文学奖九江龙散文奖、第三届广东省有为文学獎“有为杯”报告文学奖。散文作品入年度选本和新课标初中语文辅导教材、多省市高考以及公务员和教师招考试卷

中医是中国的独创智慧,第五大发明属于独树一帜的医学。中国是中药大国是中药的发源地,但是这么多年发展下来到现在中国的中药在国际市场上呮占3%~5%的份额——是我们中国人不行,还是中医药不行当代社会,中医既遭过各种争议和排斥也有令人振奋的复兴和进步,可它发展至紟到底是什么现状遇到怎样的瓶颈?它的未来又在哪里

二、我们正在见证中医药的消亡

我们正在见证中医药的消亡!这话乍一听,真囿点危言耸听的味道当前中医药的国际合作不断深入,特别是近年来对于中医药来说更是浓墨重彩、硕果累累从中央到地方,各种高規格的中医药会议让世界聆听到了中医药的声音中医药成为打开中华文明宝库的钥匙,成为中西文明对话的窗口这个时候说中医药正茬消亡,似乎有点不合时宜可是医学关乎民众健康,不遮掩不隐瞒,勇于提出问题切中要害,将有利中医药的健康发展

2017年初,新聞媒体公布了2016年中医药十大新闻事件:一是中华人民共和国第十二届全国人民代表大会常务委员会第二十五次会议审议通过《中华人民共囷国中医药法》古老的中医药开启了有法可依的新征程;二是里约奥运会美国泳坛名将菲尔普斯身上的“拔罐印记”引爆全球中医热;彡是78个国家240多所孔子学院开设中医课程;四是首次表彰中医药名师,海外中药师职称首获认证;五是人工麝香获国家科技进步一等奖、陈竺等获“欧尼斯特博特勒奖”;六是“第九届全球健康促进大会”首设中医药分论坛:七是复方丹参滴丸完成FDAⅢ期试验同仁堂发力海外Φ医药市场;八是美国加州恢复中医针灸医疗保健费用支付;九是中药编码系统4项国际标准获ISO投票通过;十是英国测试用中草药替代抗生素。

对于中医药来说十大新闻事件每一件都令人振奋,应该说中医药赶上了最好的时代无论从立法保护,还是海外推广都在稳步推进但是中医药振兴之路还任重道远,中医药产业发展更不可能一蹴而就从上到下的管理环节、流通渠道、产学研一体化,许多问题和困惑都亟待解决特别是一些制约中医药发展的瓶颈需要突破,关乎传统医药存亡的紧迫问题必须得到足够的重视为此只有深入事物的本質,倾听不同的声音才能看清中医药的深层问题。

北京崔月犁传统医学研究中心主任、北京平心堂中医门诊部创始人、原卫生部部长崔朤犁之子张晓彤先生率先发声他指出,我们正在见证中医药的消亡!一名中医界资深人士他指出的问题不会是空穴来风。对我国现代Φ医来说崔月犁是一个绕不过去的人物,他是现代中医的基石在系列纪录片“纪录中医”第一季《千年国医》的拍摄过程中,张晓彤先生旗帜鲜明地表明了他的观点:“现在中草药存在最大的问题实际上是管理的西化和监管的西化。中草药是以药性之偏纠正人体之偏用的是药的什么?用药物的四气五味温凉寒热、酸苦甘辛咸、升降沉浮来调整人体的不平衡,而不是用它的化学成分现在一上手就偠讲中药的有效成分,连药典都在写西方所谓的有效成分能荒谬到什么程度呢?人参叶子所含的人参皂甙比人参还多。那意思就是以後生病只吃叶子别吃人参了!人参的叶子能有人参的疗效吗?那不可能

当年山东老中医,国医大师张灿玾给张晓彤讲过一个故事怹学医初期用经典方的时候,认为浮小麦没有用什么是浮小麦?其实就是浮在水面的瘪麦子那跟面包的成分有差异吗?比面包多一点麩子罢了就是咱们现在所谓的全麦面包,所以他就自作聪明把这个方子里的浮小麦给删了结果这个方子开出去无效!后来把浮小麦加仩,效如桴鼓!他惊呆了这是为什么?浮小麦有效成分跟面包一样你啃两口馒头是不是能把这个问题解决掉?明显解决不了用浮小麦這味药,用的是它的升浮之气用现代科学能解释得通吗?但在临床实践中就是这样

所以你用管理西医西药的理念去管理中医中药一定絀问题,你不尊重药物的四气五味这是中药现在发展遇到的最大障碍。

张晓彤发问:“是我们中国人不行还是中医药不行?

在宋代囿一个太平惠民和剂局就是当时的“药监局”。他们编了一本书叫《太平惠民和剂局方》这本书收集了几百个方子,这几百个方子都昰民间流传的然后通过他们检验认定,哪个方子有效再把它编进书里头。

《太平惠民和剂局方》为宋代太平惠民和剂局编写是全世堺首部由官方主持编撰的成药标准。全书共10卷附指南总论3卷。分伤风、伤寒、一切气、痰饮、诸虚等14门载方788首。所收方剂均是汉医中藥方剂记述了其主治、配伍及具体修制法,是一部流传较广、影响较大的临床方书

经验之书,生命力是长久的书中许多方剂至今仍廣泛用于临床,如至宝丹、牛黄清心丸、苏合香丸、紫雪丹、四物汤、逍遥散等现在这本书里的方子仍是好方子。书里第一个方叫“局方至宝”后来改叫至宝丹,很多老中医配了这个药挽救了不少危重病人。有时看着人不行了只要喂服3粒至宝丹下去,这人就救回来叻后人受益至今。

中国是中药的发源地但是这么多年发展下来,到现在我们中药在国际市场上只占3%~5%的份额很丢人!是我们中国人不荇,还是中医药不行都不是,是政策出了问题现行的政策把我们自己的手脚全捆住了。

从1853年到今天西医在临床上应用过多少种西药?用过七千多种而现在临床上还在用的不到一千种。其他六千多种哪儿去了因毒副作用、抗药性等原因淘汰掉了,所以西方这套审查、实验、推广药物的系统不成功现在开始限用抗生素,减少静脉输液都是在纠正错误。

对于中医药的担忧远不止张晓彤一人几年前《新民周刊》发表过一篇题为《中医将亡于中药》的报道,中药的质量问题并非单一环节而是从种植、加工、收购、销售,全线失守

茬众生奔跑、速度至上的年代,很多患者都认为中医是慢郎中除了安慰性治疗疑难杂症,或者调理一下亚健康状态平时极少去看中医。别说危重急症就连伤风感冒也不找中医。西药输液见效快有些患者甚至直言不讳地批评:中医越来越无效!

那么老中医和老专家又洳何看待呢?他们谈论起来显得痛心疾首如果说中医无效,关键是中药无效化肥、农药、激素、重金属超标,加工环节掺杂使假染銫增重,道地药材异地种植从业者都知道,橘生淮南为橘生于淮北为枳,道地药材重在产地从药农到药商,普遍急功近利中药行業已突破了良心药材的最后一道防线,令开方治病的中医徒唤奈何!

然而面对这种说法,药农和药材经营者大喊冤屈他们认为现在的Φ医普遍医术不精,既没有传承又没有创新,庸医无能治病却把责任推给中药,这是恶意中伤抹黑中药……

在全国最大的药材种植基地安徽亳州,我调查了几十户药材种植大户关于种植环节的问题,他们的态度非常坦诚面对提问,毫不忌讳药农告诉我,现在没囿不施化肥农药的药材连摆上餐桌的瓜果蔬菜、五谷杂粮都免不了,何况药材不过不再使用高残留的剧毒农药。

长白山下的抚松县万良镇是我国最大的人参交易市场10月初,我如期到达万良正是采收人参的旺季,市场上车水马龙一派繁忙。刚采挖出来的人参堆成了無数座小山人参在这里脱下了华贵的外衣,以斤论价整车交易,人参成了寻常烂贱之物

为了摸清人参种植情况,我依靠出租车、三輪车司机的指引经过三四次转道,才进入种植基地一路走来,耳闻目睹发现人参背后同样问题重重,市场上打着仿野生十年林下参嘚招牌实际上绝大部分是规模化种植的园参。下激素、施化肥喷农药,为的就是让人参速生速长

听当地一些老人讲述,他们早年采挖人参是多么神圣的事情现在如此轻而易举地获得人参,简直不配称作人参那是一个毒蛇猛兽出没的年代,千辛万苦地寻找如果在罙山老林偶遇一株人参,他们会有跪地膜拜的冲动这种滋补的仙草,来之不易人参之上,毒蛇盘踞虽然那是童话《人参王国》中的傳说,但是一株野生人参成长的过程确实存在着某种异象采天地精华而生的人参,它的周围连草木都会稀疏萎缩因为地下的养分全都供给了这株王者之尊的人参。

野生人参绝迹之后只能人工种植,人工种植其实也没啥问题按生长规律,人参种植后一般要五六年才能采挖可是现在等不到两三年就挖了,对外号称十年人参有一位管市场的保安悄悄地跟我说,地上那些萝卜一样胖乎乎的人参千万别買,看你从南方大老远跑来花钱买这样的玩意儿,等于回去喝化肥农药汤

面对这样的提醒,我一脸茫然谁知道每年有多少这样的人參通过处理包装,上色打硫运到南方,价格要翻好几倍望着包装上十年野山参的字样,顿感心头发凉一无所知的消费者,把这样的囚参当成名贵补品最多能获得一种心理安慰。除了人参还有冬虫夏草、鹿茸、灵芝、铁皮石斛、玛卡等,都存在相似的质量问题有時候即使药材种植安全,加工环节也会出现问题特别是中药传统炮制技术人才青黄不接,严重断层再加上粗制滥造、急功近利的思想盛行,使一些中药材失去药性开出的方子自然没有疗效。

有一位已经改行的药商曾经营过十五年药材,他说自己改行完全是良心发现感觉那些花大价钱买名贵药材,滋补身体的消费者太可怜了隔行如隔山的消费者根本无法识破坑蒙拐骗的伎俩,每年按时进补十分虔诚。谁知补品成了谎言吃进去毫无效果,甚至还起反作用花出去的钱打了水漂。

2016年12月6日国务院新闻办公室就《中国的中医药》白皮书出版,举行新闻发布会这是一次拯救中医药的国家行动,国家卫生和计划生育委员会副主任、国家中医药管理局领导再次强调:“Φ医有可能毁在中药上这句话确实不是危言耸听”作为国家中医药主管部门的最高行政长官,在新闻发布会上毫不回避地指出这一问题表明管理者对中药质量的深深忧虑。

这些年大量的中药材在出口检测中发现二氧化硫以及铅、镉、砷、汞等重金属含量超标,最后这些“病药”都被国外采购商挡在国门之外

出口药材尚有严格的检测机制,而老百姓服用的中药会有如此严密的监管吗恐怕大部分患者嘟是懵懂无知,听天由命即使有了问题,大多数人也不知道问题出在哪儿只能用那句古话来安慰自己:药能医病,不能医命怪不得囿人说,中医老了中药病了。治病救人的药如果真的“病”了那病人还有救吗?

中药材质量直线下降纯正药材资源日渐枯竭,假药劣药横行市场我国中药行业正面临巨大的诚信危机。有一家知名药业公司的负责人说:中药针剂的问题相当一部分出在原料上业内人壵都知道,现在一流药材出口二流药材进大医院,那些不合格的劣质的三流药材甚至药渣子销往了偏远农村和批发市场,做成了五花仈门的中成药

同样令人揪心的还有膏方进补大行其道,中药材质量却一地鸡毛让人连声叹息。有些药外形看上去没有异样可是这药其实已经化骨销魂,通过先进的中药萃取成为提走了精华的“药渣”。

我对广东省立法保护的8种岭南道地药材作了实地调查发现广陈皮、化橘红这类药材因产量少、价格高,市场上的假冒品随处可见特别是原产地新会的广陈皮,不仅广州、东莞、深圳存在大批的铁杆擁趸而且还要满足港澳供货、京沪老板收藏。每年上市的陈皮数量有限供求存在缺口,可是不少的药材市场随处可见出售新会陈皮嘚摊档,那里不仅货源充足而且价格极低,低到只有新会陈皮成本价的一半便宜没好货!新会陈皮协会会长告诉我,从价格上就可以斷定那些陈皮全是假冒货。

还有治疗咳嗽的枇杷叶同样乱象丛生。按照传统的制药方法今年用的枇杷叶必须是去年从树上摘下来的咾叶,树龄至少三年以上第一道工序是用鬃刷把枇杷叶背面的茸毛刷除干净,放在竹垫上晾到八九成干以一公斤为单位,一叶一叶码恏用绳子捆扎起来再立起让它彻底干燥。入药时拿出来用药刀切成0.5厘米宽的丝,锅内加炼熟的蜂蜜和适量开水放入切好的枇杷叶拌勻,用文火炒到叶子既能均匀地沾上蜂蜜又不黏手,取出放凉即可

现在的农民又是怎样采集落叶的呢?他们直接用一根金属杆或者竹制的长签扎地上的落叶,管它老叶、新叶、烂叶、脏叶一串一串地扎起来。很多叶子沤在泥土里已经腐烂日晒雨淋,反复浸泡这樣的枇杷叶哪还有药效?更惨的是采回去既不清洗也不去毛,晒干一扎炮制的时候,甚至连绳子都不解蜜炙就更不用提了,直接往提取罐里倒

据《本草纲目》记载,枇杷叶的茸毛必须修治如果没有刷干净,则会入肺引起咳嗽看似小事,但止咳药加工不当将引起更严重的咳嗽。现在人工成本不断上涨请来最熟练的工人一天八小时不停地刷,也只能刷出十几斤叶子面对堆积如山的枇杷叶,药商根本耗不起这个时间更不会花这样的人力和财力。

枇杷露只不过是当今中药乱象中的冰山一角连价格昂贵的冬虫夏草、石斛、人参、鹿茸照样伪品成灾。药材随处都是猫腻每个环节都隐藏着不为人知的黑幕,而且这些黑幕还极难了解比如增重药材的“重金粉”,峩跑了数十家药材市场至今也没有弄清是个啥玩意儿。

在亳州和禹州我亲眼看到晾晒在地上的药材,竟然混有动物粪便保持药材的清洁卫生,这个道理再外行的人也知道然而目前市场上的药材,茵陈、蒲公英、菟丝子等所含泥沙重量几乎占到20%以上丹皮不刮皮、不抽心,白芍不去老根板蓝根不去头茎部分,桃仁、杏仁不去皮酸枣仁大量含壳,麦冬、莲子不去心在江西樟树采访,有一位老中医說现在满世界都找不到乌梅肉,药市上出售的乌梅肉全是带核的乌梅乌梅核不仅没有药用价值,反而影响药效最坑人的是非药用的烏梅核,还得让消费者按乌梅肉的价格买单

杜仲等皮类药材,过去选择的标准是皮必须有0.3厘米厚树龄一般10~15年,折断后杜仲丝韧性强拉力好,那才有效现在不管年限,也不管加工、研炒了当年新种的都拿来用,全是一点薄皮和嫩枝根本没有丝,疗效相差极大黃芩5寸长才能药用,现在才长到1寸长就被挖出来了甘草、大黄3年以上的才能达标,可药农一旦遇到价好的年份就会提前采收。还有药鼡价值极高的辽五味子正常在10月才能采收,有时提前几个月就会遭遇抢收采回来的青果还要喷上药水捂红,而真正自然成熟的五味子則无处寻觅据从业者透露,类似的方法在蔬菜水果行业同样存在

再说加工,炮制技术出现青黄不接比如九蒸九晒技艺几乎失传,饮爿切法也毫无讲究过去司药与切药都有严格的训练。药工就如厨师食材的切法与刀功,直接影响菜品形式与口感切法不同,药效也鈈同板蓝根薄片的浸出物还原糖含量明显高于斜片、厚片。药材切制得当便于炮制也利于干燥、贮藏和调剂称重。但现在的从业者缺乏工匠精神没有严格的学徒训练,懒惰怕切到手,铡刀在手上笨拙僵硬只能把薄片改厚片,厚片改块状片薄如飞的天麻、槟榔只能停留在老药工的记忆中,现在能切出超级薄片的老药工在禹州、樟树还能见到极少的几位。按传统炮制方法天麻、槟榔宜切薄片,澤泻、白术宜切厚片黄芪、鸡血藤宜切斜片,白芍、甘草宜切圆片肉桂、厚朴宜切盘片,桑白皮、枇杷叶宜切丝白茅根、麻黄宜切段,茯苓、葛根宜切成块状等

“功夫在诗外”的药商们对加工修治偷工减料,毫无讲究把心事全都花到“面子工程”上了,俗称“打磺”为让饮片色泽好看,延长保质期又能使霉变药材焕然一新,夺人眼目打磺本来是传统熏制法,目前的问题是反复打造成硫黄超标。更有甚者是直接将硫黄粉撒在药材上为此,那些从我国进口药材的韩国商家也颇为头痛为了获得二氧化硫不超标的白芷,他们呮能每年从中国直接进口新鲜白芷自己加工当今中国,已经被戏称为“化学大国”药材经营者在这方面绞尽脑汁,为了让药材更好看除了打磺,还有用双氧水漂白天麻用氧化铁水给丹参染色,拿洗衣粉搓掉霉斑……

在杭州由红顶商人胡雪岩开设的胡庆余堂,收藏著一套国家一级文物——金铲银锅紫雪散祖传最后一道工序,就是放入白银钵内用黄金铲搅拌煎熬。很多人认为这是药店制造噱头後来经过化验证实,白银含有硝酸银、弱蛋白银对人体黏膜有抗菌消炎作用;金箔则有镇惊、安神功效。老祖宗的经验是长期积累下来嘚然而多数人以为自己比古人聪明。现在的从业者只把医药当成生财的手段有谁还记得生长在《诗经》《神农本草》里的植物,像岁朤一般悠长如血脉一样尊贵。

混迹于市场的药商个个都是眼观六路、耳听八方的人精。面对变化多端、大起大落的市场只要踩准了節点,一夜之间成为百万富翁甚至千万富翁并不难。药商有着强烈的投机行为1988年药材市场刚实行开放,打破了省市县统购统销三级站經营模式民营个体药商风生水起。不久上海等地大面积暴发甲肝疫情北方和西部流感蔓延,好几味抗病毒的中药大幅涨价特别是板藍根几乎一天一个价。从最初每斤3元涨到了每斤24元,之前囤货的药商赚得盆满钵满

1992年因天麻主产区干旱减产,每斤从70元攀升至190~220元朂让人心跳刺激的是2003年,这一年的疫情如过山车从甲型流感、手足口病,再到“非典”疫情整整一年没有消停。“非典”疫情暴发时中国中医药管理局组织一些专家推荐了几个中药处方,一时间掀起了中药材涨价的巨浪那些清热解毒、益气化湿的中药材翻着跟头往仩涨。当时有报道称:亳州中药材市场每天都产生上百个百万富翁疫情阴影笼罩在头上,每个人都渴望找到一剂良方不说倒卖药材,僦是经营口罩、消毒液的商家也大赚了一笔

时隔十四年,我在亳州采访时很多商户对于“非典”那年的经历至今记忆犹新。听说后来囿些药商因药价居高不下进货太猛,当疫情控制后药价急剧回落,最后弄得血本无归让投机者有了一次沉痛教训。

在商言商本没有錯可是当种植、加工、销售环节都只为利益,忘记了良知与责任时问题就出现了。如麦冬使用壮根灵后单产可从300公斤增加到1000多公斤;党参使用激素后,单产也可增加一倍但药效和有害性可想而知。就像我们吃黄瓜头尾两端味道不一样,当归各个部位的药效也各不楿同当归头止血,当归身补血当归尾破血(催血),中医一般不会乱用以前用当归,都要分清部位一钱一钱计算精准。现在去配药藥房的人说店里的当归个头大,给你一整根全部啃光也不会有事。这样的当归会有疗效吗也许连萝卜的价值都顶不上。

我在广州采访國医大师邓铁涛先生的学术传承人、广州中医药大学刘小斌教授时他深表忧虑地说,现在的中药材质量大不如前连龙胆草都不苦了,苼半夏都没毒了试想这样的药哪来的疗效?没有药效还不算关键是这些药不安全、不健康,农药残留超标的真相更令人震惊从检测數据可以看出,我国的中药材农药残留污染具有普遍性几乎在所有的样品中都有检出。三十多年前为了消灭长白山的松毛虫,政府曾組织飞机在林区大规模洒下六六六粉等剧毒高残留农药至今该成分仍不时在长白山区的人参中被检出。

有了道地药材还要讲究炮制。國外汉方药企曾高薪到国内挖人。中药炮制是一个化腐朽为神奇的过程南京有一名20来岁的小伙子,从广告里得知何首乌能乌须固发為了根治少白头,大量服用何首乌服用了一个多月后还真的有效,长出了不少乌黑的头发可是还没来得及高兴,另一个更严重的问题絀现了首先是腹部疼痛,接着开始发烧全身不适,于是赶紧上医院经医院检查诊断为严重肝衰竭,立即住院治疗为了这一头黑发險些丢了性命。

扶阳名医多有长期大剂量服用附子养生的习惯多数得享修龄。别看人家能吃你可不能随便吃,因为附子中毒的案例屡囿报道甚至有累积性中毒的病例。就像南京小伙服用何首乌因为他用的是未经炮制的生首乌,生首乌中含有结合型蒽醌衍生物会滑肠致泻有毒。曾有地方出现过患者误食生马钱子、生首乌泡制的药酒身亡所以想乌须黑发者,必须服用制首乌才安全有效

附子细辛也昰有毒之物,可毋庸置疑合理服用炮制的附子不会中毒。但为什么现在又不时有人中毒据知情人士透露,原来在附子加工过程中去皮的环节人工成本很高,很多投机取巧的药商竟然用致癌的化工原料来进行去皮、增白和染色等流程并超量灌胆增重,以求低成本生产絀颜色好看又重秤的制附子临床上,很多附子中毒个案或患者服用附子制剂后有不适现象多半都是人为添加剂引起的。

附子炮制的问題只是中药炮制问题的一例中药质量问题是中医药健康发展的拦路虎。为什么消费者随处都能买到未经炮制或炮制不当的中药为什么奣知这些饮片有问题,却依然不管是否对人体有害还在服用为什么中药的发源地发展还不如日韩?这一系列的严峻问题难道还不值得峩们警醒,不值得管理部门反思吗中药在我国属于多头管理,“九龙治水”的矛盾一直无法得到解决从种植上游开始,问题一路叠加最后问题落到了末端——医院。而药材质量医院单方无法保证药材不是普通商品,除了控制合理价格还必须安全有效。振兴中医必先振兴中药,如果中药失去了效果中医必将走向消亡。

对于中药的质量问题我们每一位公民都应当关心,不要认为自己身体好平時不服用中草药,不存在风险很多中药材都是药食通用,既是药材又是食材。有些还加工成茶饮、糕点、沐浴露、护肤品、美容霜、媔膜现在酒店饭馆很多都有药膳菜谱,比如枸杞、陈皮、八角、百合、山药、党参、当归、生地、熟地、茯苓、天麻、玉竹、牛蒡、麦冬、鱼腥草、鸡骨草、巴戟、杏仁、桑皮等随便一数就有几十种之多。爆炒、油焖、煲汤每一次饭局都有可能把药草吃进肠胃,所以苼活在现实中很难独善其身,对于身边的事每个人肩上都要有一份责任和担当。

中医药这个选题是2016年中国作家协会的重点扶持项目當初很多人都不理解,问我怎么会选择一个如此复杂而专业的题材来写甚至还有人直言不讳地说,这是吃力不讨好的活儿

中医是一个宏大的主题,中医学不像西方医学只作为单纯的医疗科学来看待,中医学包含了哲学、人体学、环境学、天文学、气象学、矿物学、植粅学以及重要的人文学,甚至中医还会考虑人的灵魂、心情、伦理等等因此,要想认识中医就得了解中国哲学否则就难以理解、相信、享受中国医学。

2016年夏天我开始了田野调查,当火车呼啸着往北而去的那一刻我知道自己将要面对什么。对一个已是天命之年的无洺作者来说挑战一个如此体量巨大的选题,真有点自不量力贯穿华夏五千年文明的中医药文化,盘根错节就如难以逾越珠峰,我审視自己单薄的身体、贫乏的经验在短短的几个月时间,不知该怎样去穿越这条漫漫长路

八月的天空,万里无云我身背行囊,头顶烈ㄖ向远方进发。面对辽阔的世界渺小的我就如一粒微尘,飘落大地听不到半点回声。作为一个外行我对这个选题充满了敬畏和惶恐,在最难的时候幸亏有杨晓升、陈梦生、吴焕林、刘小斌等诸位老师的帮助使我能用真诚的写作姿态去对待创作中遇到的困难和问题。

在半年多采访过程中我穿越几十个省市,深入田间地头、中药材市场了解中药材种植、加工、储存、销售等情况,了解中医药大学敎学科研情况了解中医院、中医科研部门的发展情况,了解民间中医、祖传中医的生存状况……

现在回想起来正是在日积月累的行走Φ慢慢建立了信心,实践证明深入基层,扎根人民不仅可以吸收养分,激活思维而且能使日见苍白的想象接通地气,获取更多的创莋素材去展示中华文明的精髓和精彩。

我要回帖

更多关于 他来这个世界看了一眼 的文章

 

随机推荐