<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Zhenyu Lin</title>
    <description>The latest articles on Forem by Zhenyu Lin (@zhenyulin).</description>
    <link>https://forem.com/zhenyulin</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F348959%2Fc1ed55b5-a306-49c0-bb97-c11ba24383c2.jpeg</url>
      <title>Forem: Zhenyu Lin</title>
      <link>https://forem.com/zhenyulin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/zhenyulin"/>
    <language>en</language>
    <item>
      <title>Use function hooks to modularise control patterns</title>
      <dc:creator>Zhenyu Lin</dc:creator>
      <pubDate>Tue, 21 Apr 2020 18:40:15 +0000</pubDate>
      <link>https://forem.com/zhenyulin/use-function-hooks-to-modularise-control-patterns-7ki</link>
      <guid>https://forem.com/zhenyulin/use-function-hooks-to-modularise-control-patterns-7ki</guid>
      <description>&lt;p&gt;Hi all,&lt;/p&gt;

&lt;p&gt;I'm thrilled to announce a new library &lt;a href="https://github.com/opbi/toolchain"&gt;@opbi/toolchain&lt;/a&gt; I'm working on under the open-source initiative OPBI.&lt;/p&gt;

&lt;p&gt;I have previously created &lt;a href="https://github.com/Financial-Times/n-express-monitor"&gt;@financial-times/n-express-monitor&lt;/a&gt; to automate log and metrics behaviour across a large set of micro-services with pluggable decorators. &lt;a href="https://github.com/opbi/toolchain"&gt;@opbi/toolchain&lt;/a&gt; aims to take the lessons learnt and lift the project to a new level to have more universal use cases.&lt;/p&gt;

&lt;p&gt;The docs should now be relatively straight-forward. If you have any questions, do leave a comment here. And if you feel this can potentially be useful to you, do give the repo a star as your feedback.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br&gt;
Carl&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How I saved thousands of lines of code - Functional Hook Composition for Everything</title>
      <dc:creator>Zhenyu Lin</dc:creator>
      <pubDate>Wed, 11 Mar 2020 00:36:11 +0000</pubDate>
      <link>https://forem.com/zhenyulin/how-i-saved-thousands-of-lines-of-code-functional-hook-composition-for-everything-48o4</link>
      <guid>https://forem.com/zhenyulin/how-i-saved-thousands-of-lines-of-code-functional-hook-composition-for-everything-48o4</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/opbi/toolchain"&gt;https://github.com/opbi/toolchain&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There're a large amount of semi-automatable codes in most production codebases, especially around input validation/null check, error/exception handling, observability anchors(log, metrics, tracing) and various other elements to thread functions together to achieve business goals stably. All those are essential for production code, while they are slowly corrupting the readability/maintainability of the codebase, incurring huge communication cost between teams due to a lack of common standards. Fortunately, without AI, it is still possible to automate some of those common programming actions with a standard.&lt;/p&gt;

&lt;p&gt;With the power of function composition in Javascript, it becomes very simple to modularize those control mechanisms in the form of well-tested reusable decorators. This makes the core business logic functions extremely concise and easy to read/test/migrate.&lt;/p&gt;

&lt;p&gt;I'm working on a new library to standardise a pattern to add reusable hooks to functions to configure their behaviour so that functions can be precisely about the core business logic. This would greatly improve the readability, testability and maintainability of a codebase.&lt;/p&gt;

&lt;p&gt;It is currently at its very early stage while have been proofed in a production server. Any feedback or contributions would be welcomed.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>functional</category>
      <category>node</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
