<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Google talk Archives - Francesco Lelli %</title> <atom:link href="https://francescolelli.info/tag/google-talk/feed/" rel="self" type="application/rss+xml" /><link>https://francescolelli.info/tag/google-talk/</link> <description>Information Management, Computer Science,  Economics, Finance and more</description> <lastBuildDate>Sun, 24 Nov 2019 11:04:58 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod> hourly </sy:updatePeriod> <sy:updateFrequency> 1 </sy:updateFrequency> <generator>https://wordpress.org/?v=6.8.5</generator><image> <url>https://francescolelli.info/wp-content/uploads/2018/11/cropped-InstrumentElement-32x32.jpg</url><title>Google talk Archives - Francesco Lelli %</title><link>https://francescolelli.info/tag/google-talk/</link> <width>32</width> <height>32</height> </image> <site
xmlns="com-wordpress:feed-additions:1">156264324</site> <item><title>How to Design a Good API: Advanced Object Oriented Programming</title><link>https://francescolelli.info/programming/how-to-design-a-good-api-advanced-object-oriented-programming/</link> <comments>https://francescolelli.info/programming/how-to-design-a-good-api-advanced-object-oriented-programming/#respond</comments> <dc:creator><![CDATA[Francesco Lelli]]></dc:creator> <pubDate>Mon, 12 Aug 2019 12:24:51 +0000</pubDate> <category><![CDATA[Java]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[APIs]]></category> <category><![CDATA[Design API]]></category> <category><![CDATA[Good API]]></category> <category><![CDATA[Google talk]]></category> <guid
isPermaLink="false">https://francescolelli.info/?p=1635</guid><description><![CDATA[<p>Design a good API takes both engineering and artistic skills and is a well know challenge among experts of object oriented programming (OOP). This is a relatively advanced topic. Therefore, If you are unfamiliar with the concepts this article will give you the basic of OOP. An Application Program Interface (API in short) refers to [&#8230;]</p><p>The post <a
href="https://francescolelli.info/programming/how-to-design-a-good-api-advanced-object-oriented-programming/">How to Design a Good API: Advanced Object Oriented Programming</a> appeared first on <a
href="https://francescolelli.info">Francesco Lelli</a>.</p> ]]></description> <content:encoded><![CDATA[<p>Design a good API takes both engineering and artistic skills and is a well know challenge among experts of object oriented programming (OOP). This is a relatively advanced topic. Therefore, If you are unfamiliar with the concepts this article will give you the<a
href="https://francescolelli.info/tutorial/object-oriented-programming-a-curated-set-of-resources/"> basic of OOP</a>.</p><div
class="wp-block-image"><figure
class="alignright is-resized"><img
fetchpriority="high" decoding="async" data-attachment-id="1637" data-permalink="https://francescolelli.info/programming/how-to-design-a-good-api-advanced-object-oriented-programming/attachment/design-a-good-api/" data-orig-file="https://francescolelli.info/wp-content/uploads/2019/08/Design-a-good-api.jpg" data-orig-size="480,343" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Design-a-good-api" data-image-description="" data-image-caption="" data-medium-file="https://francescolelli.info/wp-content/uploads/2019/08/Design-a-good-api-300x214.jpg" data-large-file="https://francescolelli.info/wp-content/uploads/2019/08/Design-a-good-api.jpg" src="https://francescolelli.info/wp-content/uploads/2019/08/Design-a-good-api.jpg?8011c3&amp;8011c3" alt="How to Design a Good API: Advanced Object Oriented Programming" class="wp-image-1637" width="276" height="197" srcset="https://francescolelli.info/wp-content/uploads/2019/08/Design-a-good-api.jpg 480w, https://francescolelli.info/wp-content/uploads/2019/08/Design-a-good-api-300x214.jpg 300w" sizes="(max-width: 276px) 100vw, 276px" /><figcaption>Design a Good API</figcaption></figure></div><p>An Application Program Interface (API in short) refers to a set of functions and procedures allowing the creation of applications that access the features or data of an operating system, application, or other service.</p><p>A good API should be:</p><ul
class="wp-block-list"><li><strong>Easy to learn and use</strong>. It should not intuitive enough to that the documentation would not be needed for the majority of the cases.</li><li><strong>Hard to misuse</strong>. At the same time an API should be designed in a way that prevent misuse of the code.  in other words it should force you to do &#8220;the right thing&#8221;</li><li><strong>Easy to read and maintain code that uses it</strong>. As the API will change over time you would like to minimize the changes that users will have to do/</li><li><strong>Sufficiently powerful</strong>. It should be able to satisfy the requirements of your users and mask the complexity behind. In other words the users should be able to solve their needs without knowing all the details of how the system works.</li><li><strong>Easy to evolve.</strong> As requirements will change over time the API should accommodate these changes without causing major disruptions in the code that is wrapping as well as in how the users are using it.</li><li><strong>Targeted to the appropriate audience.</strong> As different groups of people use different terminologies the API should take into account these aspects. In other words, what is good for a physicist may not be good for an economist.</li></ul><p>This google tech talk share some insight on the process and the best practices around the design of a good API.</p><figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="How To Design A Good API and Why it Matters" width="800" height="600" src="https://www.youtube.com/embed/heh4OeB9A-c?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div><figcaption>How to Design a Good API</figcaption></figure><p>Joshua Bloch has an extensive experience in this matter and show how good APIs increase the pleasure and productivity of the developers who use them, the quality of the software they produce, and ultimately, the corporate bottom line.</p><hr
/><p><em> How to #design a good #API : #advancedpractice in Object Oriented #programming. Practical examples in #Java but with #python works as well. #softwaredevelopment #SoftwareEngineer </em><br
/><a
href='https://twitter.com/intent/tweet?url=https%3A%2F%2Ffrancescolelli.info%2Fprogramming%2Fhow-to-design-a-good-api-advanced-object-oriented-programming%2F&#038;text=%20How%20to%20%23design%20a%20good%20%23API%20%3A%20%23advancedpractice%20in%20Object%20Oriented%20%23programming.%20Practical%20examples%20in%20%23Java%20but%20with%20%23python%20works%20as%20well.%20%23softwaredevelopment%20%23SoftwareEngineer%20&#038;related' target='_blank' rel="noopener noreferrer" >Share on X</a><br
/><hr
/><p>The post <a
href="https://francescolelli.info/programming/how-to-design-a-good-api-advanced-object-oriented-programming/">How to Design a Good API: Advanced Object Oriented Programming</a> appeared first on <a
href="https://francescolelli.info">Francesco Lelli</a>.</p> ]]></content:encoded> <wfw:commentRss>https://francescolelli.info/programming/how-to-design-a-good-api-advanced-object-oriented-programming/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <post-id
xmlns="com-wordpress:feed-additions:1">1635</post-id> </item> </channel> </rss>