# coding style

Published articles for coding style.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Libreboot Build System Audit 4

DevFeed: [Libreboot Build System Audit 4](<https://devfeed.tech/articles/libreboot-build-system-audit-4-32664.md>)

Original publisher: [Read original article](<https://libreboot.org/news/audit4.html>)

Author: Leah Rowe

Published: 2026-09-17T04:32:50.666044Z

Content type: article

Language: en

Sources: [News about Libreboot releases and development](<https://devfeed.tech/sources/news-about-libreboot-releases-and-development.md>)

Topics: [audit](<https://devfeed.tech/topics/audit.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Code](<https://devfeed.tech/topics/code.md>), [coding style](<https://devfeed.tech/topics/coding-style.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [audit](<https://devfeed.tech/tags/audit.md>), [bios](<https://devfeed.tech/tags/bios.md>), [build](<https://devfeed.tech/tags/build.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [canoeboot](<https://devfeed.tech/tags/canoeboot.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [coreboot](<https://devfeed.tech/tags/coreboot.md>), [free-software](<https://devfeed.tech/tags/free-software.md>), [libre](<https://devfeed.tech/tags/libre.md>), [libreboot](<https://devfeed.tech/tags/libreboot.md>), [opensource](<https://devfeed.tech/tags/opensource.md>), [patches](<https://devfeed.tech/tags/patches.md>), [uefi](<https://devfeed.tech/tags/uefi.md>)

### AI overview

This article reviews the fourth audit of the Libreboot build system, lbmk, covering code cleanup, generalization, new features, and bug fixes. It reports a reduction from 1,744 to 1,618 shell-script SLOC and a corresponding 7.22% decrease in complexity, while functionality increased.

### Source excerpt

Article: Libreboot Build System Audit 4 Web link: https://libreboot.org/news/audit4.html

## Cargo Cult Programming: Applying Patterns Without Understanding Them

DevFeed: [Cargo Cult Programming: Applying Patterns Without Understanding Them](<https://devfeed.tech/articles/cargo-culting-25229.md>)

Original publisher: [Read original article](<https://kau.sh/blog/cargo-culting/>)

Author: Kaushik Gopal

Published: 2025-10-18T16:37:23Z

Content type: opinion

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [function](<https://devfeed.tech/tags/function.md>), [team](<https://devfeed.tech/tags/team.md>)

### AI overview

The article defines cargo cult programming as applying design patterns or coding styles without understanding their rationale. It argues that making code smaller is not automatically better and that cohesive, readable functions can be preferable to terse or fragmented code.

### Source excerpt

If you're a software engineer long enough, you will meet some gray beards that throw out-of-left-field phrases to convey software wisdom. For example, you should know if you're yak-shaving or bike-shedding, and when that's even a good thing. A recent HN article1 reminded me of another nugget - Cargo Culting (or Cargo Cult Programming). Definition ### Cargo Culting: ritualizing a process without understanding it. In the context of programming: practice of applying a design pattern or coding style blindly without understanding the reasons behind it Example ### I'm going to take this opportunity to air one of my personal cargo-culting pet peeves, sure to kick up another storm: Making everything small. When I get PR feedback saying "this class is too long, split this!", I get ready to launch into a tirade: you're confusing small with logically small - ritualizing line count without understanding cohesion. You can make code small by being terse: removing whitespace, cramming logic into one-liners, using clever shorthand.2 But you've just made it harder to read. A function that does one cohesive thing beats multiple smaller functions scattered across files. Etymology ### As the parable goes, after the end of the Second World War, indigenous tribes believed that air delivery of cargo would resume if they carried out the proper rituals, such as building runways, lighting fires next to them, and wearing headphones carved from wood while sitting in fabricated control towers. While on the surface amusing, there's sadness if you dig into the history and contributing factors (value dominance, language & security barriers). I don't think that's reason to avoid the term altogether. We as humans sometimes have to embrace our dark history, acknowledge our wrongs and build kindness in our hearts. We cannot change our past, but we can change our present and future. The next time someone on your team ritualizes a pattern without understanding it, you'll know what to call it. Who comes

## Engineering Audits for ISO 13485 Medical Device Software Quality Management Systems

DevFeed: [Engineering Audits for ISO 13485 Medical Device Software Quality Management Systems](<https://devfeed.tech/articles/what-is-an-engineering-audit-like-26536.md>)

Original publisher: [Read original article](<https://annajmcdougall.medium.com/what-is-an-engineering-audit-like-dc2e09719efd?source=rss-51f15275ef3a------2>)

Author: Anna J McDougall

Published: 2025-08-18T20:21:35Z

Content type: article

Language: en

Sources: [Anna J McDougall](<https://devfeed.tech/sources/anna-j-mcdougall.md>)

Topics: [audit](<https://devfeed.tech/topics/audit.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Development](<https://devfeed.tech/topics/development.md>), [Software](<https://devfeed.tech/topics/software.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [audit](<https://devfeed.tech/tags/audit.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [engineering-management](<https://devfeed.tech/tags/engineering-management.md>), [iso](<https://devfeed.tech/tags/iso.md>), [iso-13485-standard](<https://devfeed.tech/tags/iso-13485-standard.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [management](<https://devfeed.tech/tags/management.md>), [medical-devices](<https://devfeed.tech/tags/medical-devices.md>), [processes](<https://devfeed.tech/tags/processes.md>), [quality](<https://devfeed.tech/tags/quality.md>), [regulatory](<https://devfeed.tech/tags/regulatory.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [review](<https://devfeed.tech/tags/review.md>), [risk-management](<https://devfeed.tech/tags/risk-management.md>), [safety](<https://devfeed.tech/tags/safety.md>), [software](<https://devfeed.tech/tags/software.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

This case study explains what an engineering audit involves under ISO 13485 for medical device software. It covers Quality Management System documentation, lifecycle management, patient safety, risk management, regulatory requirements, and the author's experience updating engineering compliance documents.

### Source excerpt

What is an Engineering Audit Like? An ISO 13485 Medical Device Engineering QMS Case StudyI think I found my new look. If there's one thing that gets me fired up, it's a good ol'-fashioned audit! ... Said nobody ever. Sadly, audits are a part of the business world that tend not to be fun. However, they also serve an important purpose, and are part of the transition from the "fun team lead" style of management into the "business leader" role is coming to grips with the unsexy stuff. As part of my role at HelloBetter, I was tasked with leading engineering compliance and reporting for ISO 13485, an internationally recognised standard for Quality Management Systems (QMS) specifically for medical device manufacturers, within the broader context of the EU Medical Device Regulation (MDR). For those who aren't familiar with what an audit of this kind involves, the simple version is this: Certain requirements exist as part of the standard, not just about how to effectively create and maintain software, but also how to document that compliance. This documentation is referred to as the Quality Management System (QMS), which as the name implies serves as documentation for how you maintain quality as per the ISO. The ISO isn't only about software, but software is part of "Lifecycle Management", tracking how a medical device (in this case) goes from design and development to distribution and surveillance. A company required to meet the ISO should therefore create and follow a system that ticks all the boxes for things like patient safety, risk management, and any additional regulatory hurdles. Typically once a year, an auditor is hired to enter the company and review the documentation alongside representatives from the company who guide them through the QMS. Additionally, individuals (like me!) are pulled from different parts of the company to talk through their processes and documentation, and to show any examples that may be relevant. My Experience with Engineering Compliance for

## Refreshed Nuxt ESLint Integrations

DevFeed: [Refreshed Nuxt ESLint Integrations](<https://devfeed.tech/articles/refreshed-nuxt-eslint-integrations-3386.md>)

Original publisher: [Read original article](<https://nuxt.com/blog/eslint-module>)

Published: 2024-04-10T00:00:00Z

Content type: article

Language: en

Sources: [The Nuxt Blog](<https://devfeed.tech/sources/the-nuxt-blog.md>)

Topics: [ESLint](<https://devfeed.tech/topics/eslint.md>), [Nuxt.js](<https://devfeed.tech/topics/nuxt.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [config](<https://devfeed.tech/tags/config.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [nuxt](<https://devfeed.tech/tags/nuxt.md>)

### AI overview

Nuxt has refreshed its ESLint integrations to support ESLint v9 and its flat configuration format. The update consolidates ESLint-related packages into a monorepo, introduces an all-in-one module for Nuxt 3, and provides new documentation and package comparisons.

### Source excerpt

We revamped our ESLint integrations to support ESLint v9 with the flat config, as well as a new module with many more capabilities.

## Importance of writing in the engineering industry

DevFeed: [Importance of writing in the engineering industry](<https://devfeed.tech/articles/importance-of-writing-in-the-engineering-industry-30478.md>)

Original publisher: [Read original article](<https://bytesizedbets.com/p/importance-of-writing-in-the-engineering>)

Author: TheAnkurTyagi

Published: 2024-02-19T12:12:49Z

Content type: opinion

Language: en

Sources: [ByteSizedBets](<https://devfeed.tech/sources/bytesizedbets.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Specifications](<https://devfeed.tech/topics/specifications.md>), [coding style](<https://devfeed.tech/topics/coding-style.md>), [Slack](<https://devfeed.tech/topics/slack.md>)

Tags: [coding-style](<https://devfeed.tech/tags/coding-style.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [slack](<https://devfeed.tech/tags/slack.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [specifications](<https://devfeed.tech/tags/specifications.md>)

### AI overview

This article argues that writing is essential in software engineering because teams rely on written communication for alignment, code reviews, technical specifications, and code. It recommends prioritizing product specifications, technical specifications, and coding style guides, particularly in mid-sized organizations.

### Source excerpt

Spoiler: It's very important!

## Using Fleet 1.19's AI Assistant to Convert Kotlin Between Imperative and Functional Styles

DevFeed: [Using Fleet 1.19's AI Assistant to Convert Kotlin Between Imperative and Functional Styles](<https://devfeed.tech/articles/the-imitation-tortoise-s-song-a-fleety-conversion-from-imperative-to-functional-will-you-join-the-dance-32082.md>)

Original publisher: [Read original article](<https://www.maiatoday.net/p/the-imitation-tortoises-song-a-fleety-conversion-from-imperative-to-functional-will-you-join-the-dance/>)

Published: 2023-06-10T13:12:44Z

Content type: article

Language: en

Sources: [maiatoday](<https://devfeed.tech/sources/maiatoday.md>)

Topics: [coding style](<https://devfeed.tech/topics/coding-style.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Code](<https://devfeed.tech/topics/code.md>), [Advent of Code](<https://devfeed.tech/topics/advent-of-code.md>)

Tags: [advent-of-code](<https://devfeed.tech/tags/advent-of-code.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-assistant](<https://devfeed.tech/tags/ai-assistant.md>), [code](<https://devfeed.tech/tags/code.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [doggerel](<https://devfeed.tech/tags/doggerel.md>), [fleet](<https://devfeed.tech/tags/fleet.md>), [functional](<https://devfeed.tech/tags/functional.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [imperative](<https://devfeed.tech/tags/imperative.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [word-games](<https://devfeed.tech/tags/word-games.md>)

### AI overview

The article experiments with Fleet 1.19's integrated AI assistant by converting Kotlin code for the Advent of Code 2022 Day 10 puzzle between imperative and functional styles, comparing the results, and generating poetry.

### Source excerpt

Once upon a time I admit. I have a penchant for word games and weird segues. So I will tell you what this post is about off the bat. You can skip to the code, I won't be offended. Fleet 1.19 was released this week with an integrated AI assistant. I took it for a spin and used it to convert Kotlin code from imperative style to functional and back again. I used some Kotlin code, which solves the Advent of Code 2022 Day 10 puzzle. I had written the solution in two styles and I had the AI assistant do the same conversion and compared the code. And then I played around and generated some poetry. Follow links at your peril, there are rabbit holes, it might make you late or change the size of your free time. Segue the first of many Oh you are still here! You didn't jump to the code starts here section? Why am I doing this? A long time ago, I read a lot of Lewis Caroll, Alice in Wonderland. In one scene Alice talks to the Mock Turtle. He sings a song about sea creatures dancing. When the first language translators appeared on the scene, Altavisa babelfish or perhaps it was the early Google Translate, I converted passages from Alice in Wonderland to French and then back again to see what the machines could do. The Mock Turtle was transformed into an Imitation Tortoise. In this way the reference to the original mock turtle soup was lost in translation. In a roundabout way I was wondering what would be uncovered or lost if I used the AI assistant for some translations in coding style. Couplets of doggerel My trusty and non emotional assistant had no opinion on Lewis Caroll but it made this for me. A definition of functional programming style in rhyming couplets: Functional programming's way, treats functions as the play. Immutable states they use, side effects they refuse. Declarative code is their choice, with functions, they rejoice. Nested functions map, filter, reduce, a clean, elegant code they produce. Compare this with the imperative version: Imperative code, step by st

## 3 Things We Learned When Switching to TypeScript

DevFeed: [3 Things We Learned When Switching to TypeScript](<https://devfeed.tech/articles/3-things-we-learned-when-switching-to-typescript-28025.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2022-08-01-three-learnings-switching-to-typescript/>)

Author: Tom Bartel

Published: 2022-08-01T00:00:00Z

Content type: article

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Next.js](<https://devfeed.tech/topics/next-js.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [coding-style](<https://devfeed.tech/tags/coding-style.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [generics](<https://devfeed.tech/tags/generics.md>), [migration](<https://devfeed.tech/tags/migration.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [php](<https://devfeed.tech/tags/php.md>), [switching](<https://devfeed.tech/tags/switching.md>), [type-safety](<https://devfeed.tech/tags/type-safety.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Trivago describes lessons from switching its core product web application from a PHP/JavaScript stack to Next.js and TypeScript. The article discusses initial resistance, adapting coding practices, increased confidence when modifying unfamiliar code, and TypeScript's limits compared with Java or C# type safety.

### Source excerpt

With the rewrite of our core product web application, we moved from a PHP/JavaScript tech stack to a Next.js stack. One of ...

## 3 Guidelines to Reduce Implementation Flaws

DevFeed: [3 Guidelines to Reduce Implementation Flaws](<https://devfeed.tech/articles/3-guidelines-to-reduce-implementation-flaws-26217.md>)

Original publisher: [Read original article](<https://medium.com/groupon-eng/3-guidelines-to-reduce-implementation-flaws-958511e2a82f?source=rss----5c13a88f9872---4>)

Author: Pratik Shekhar

Published: 2021-09-03T17:06:05Z

Content type: opinion

Language: en

Sources: [Groupon Engineering -- Medium](<https://devfeed.tech/sources/groupon-engineering-medium.md>)

Topics: [Code quality](<https://devfeed.tech/topics/code-quality.md>), [coding](<https://devfeed.tech/topics/coding.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Unit testing](<https://devfeed.tech/topics/unit-testing.md>)

Tags: [code-quality](<https://devfeed.tech/tags/code-quality.md>), [coding](<https://devfeed.tech/tags/coding.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [function](<https://devfeed.tech/tags/function.md>), [google](<https://devfeed.tech/tags/google.md>), [implement](<https://devfeed.tech/tags/implement.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [team](<https://devfeed.tech/tags/team.md>), [tech](<https://devfeed.tech/tags/tech.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [unit-testing](<https://devfeed.tech/tags/unit-testing.md>)

### AI overview

The article presents coding guidelines intended to reduce implementation flaws. It emphasizes code quality, readability, team practices, breaking functions into smaller single-purpose units, and making code easier to test and reuse.

### Source excerpt

3 Rules/Guidelines to Reduce Implementation Flaws When I hear the word "rule", I think back to grade school. "Be quiet when the teacher is talking." "No interrupting, you must raise your hand with a question." But what makes this different than following a set of guidelines? There was always that one kid who never listened to the rules. In coding, we may talk about rules, whereas in reality, we're following some sort of guideline. Think of guidelines as a scene from the Ghostbusters movie when Bill Murray told Sigourney Weaver that he never sleeps with a possessed woman. Then she kissed him and he said, "Actually, this is more of a guideline than a rule." A standard guideline is important because it helps improve the existing code quality, a guideline also makes it more readable and also somewhere sets the team culture. Over the last few years of gaining more experience in coding, rules have changed into guidelines; however, there are three top guidelines I always follow. After being curious if other colleagues follow any specific coding guidelines, I reached out to several within Groupon and companies like Google, Morgan Stanley, Apple, Lutron, L Brands, Capitol One, GoPuff, and Vertex Inc. Specifically, I asked if they follow any guidelines that reduce implementation flaws. To not much surprise, we all follow similar guidelines. Take a moment and ask yourself, do you have any specific rules or guidelines? We may all have similar guidelines that we follow, mine are listed below- Guideline 1 -> Break down your functions My first rule is merely following the single responsibility principle. A function should be responsible for doing one specific thing. If a function has too many responsibilities, then it should be broken down into multiple smaller functions. Its logic is limited in scope, which makes it easier to implement and test its end-to-end functionality. A friend of mine once said that "If the function you end up unit testing requires tests for multiple separat

## Kotlin string templates, destructuring declarations, and sealed classes

DevFeed: [Kotlin string templates, destructuring declarations, and sealed classes](<https://devfeed.tech/articles/cooking-tasty-code-in-kotlin-part-2-25710.md>)

Original publisher: [Read original article](<https://blog.shreyaspatil.dev/cooking-tasty-code-in-kotlin-part-2/>)

Author: Shreyas Patil

Published: 2021-01-01T09:23:42Z

Content type: tutorial

Language: en

Sources: [Shreyas Patil's Blog](<https://devfeed.tech/sources/shreyas-patil-s-blog.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [coding](<https://devfeed.tech/topics/coding.md>), [coding style](<https://devfeed.tech/topics/coding-style.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [destructuring](<https://devfeed.tech/tags/destructuring.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-beginner](<https://devfeed.tech/tags/kotlin-beginner.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [programming-tips](<https://devfeed.tech/tags/programming-tips.md>), [sealed-class](<https://devfeed.tech/tags/sealed-class.md>)

### AI overview

A Kotlin tutorial covering string templates, raw multiline strings, destructuring declarations, and sealed classes. It notes that destructuring can be risky when a class member order changes.

### Source excerpt

Part 2 of 'Cooking Tasty Code'. Dive deeper into Kotlin features like delegation, operator overloading, and more to enhance your coding style.

## Name It, and They Will Come

DevFeed: [Name It, and They Will Come](<https://devfeed.tech/articles/name-it-and-they-will-come-36181.md>)

Original publisher: [Read original article](<https://overreacted.io/name-it-and-they-will-come/>)

Published: 2019-03-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Dan Abramov](<https://devfeed.tech/sources/dan-abramov.md>)

Topics: [Open Source](<https://devfeed.tech/topics/open-source.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [coding style](<https://devfeed.tech/topics/coding-style.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [github](<https://devfeed.tech/tags/github.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>)

### AI overview

This essay describes the excitement and uncertainty of developing and launching an open-source project. It concludes with a disappointing response: public discussion focuses on indentation in a README example rather than the project's central idea.

### Source excerpt

A change starts with a story.

## GSOC Project TSE Week 5

DevFeed: [GSOC Project TSE Week 5](<https://devfeed.tech/articles/gsoc-project-tse-week-5-32831.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/gsoc-project-tse-week-5/>)

Published: 2017-07-06T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [coding style](<https://devfeed.tech/topics/coding-style.md>), [Code](<https://devfeed.tech/topics/code.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [code-reviews](<https://devfeed.tech/tags/code-reviews.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [free](<https://devfeed.tech/tags/free.md>), [gsoc](<https://devfeed.tech/tags/gsoc.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A week-five GSoC project update for ReactOS describes code reviews conducted through Crucible, continued work on QuickLaunch menus, and implementation of context-menu options such as views and showing text. The author also reports refactoring, code fixes, removal of unnecessary interfaces, and menu localization work.

### Source excerpt

Hey there! 0/ Last time you must have seen some snapshots of where the QuickLaunch has reached. Seeing the UI and some functionalities in the snaps must have given you a feeling that it's complete and finished. But, Nah... a lot of work is left, besides debugging so that Dr. Watson would finally be free of his postmortems!! XP Coming straight to the point, this week the best thing was about 'Code Reviews'.

## Effective Coding Standards

DevFeed: [Effective Coding Standards](<https://devfeed.tech/articles/effective-coding-standards-24944.md>)

Original publisher: [Read original article](<https://codeahoy.com/2016/05/22/effective-coding-standards/>)

Author: umer

Published: 2016-05-22T00:00:00Z

Content type: opinion

Language: en

Sources: [Code Ahoy - Articles](<https://devfeed.tech/sources/code-ahoy-articles.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Software](<https://devfeed.tech/topics/software.md>), [Code review](<https://devfeed.tech/topics/code-review.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [developer](<https://devfeed.tech/tags/developer.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This opinion article argues that coding standards are useful for consistency and maintainability, but warns that overly personal, rigid, or undocumented rules can damage developer morale and make code reviews unproductive.

### Source excerpt

Coding standards are a set of guidelines, best practices, programming styles and conventions that developers adhere to when writing source code for a project. All big software companies have them. Here are few guidelines from the 'Linux kernel coding style': a. Tabs are 8 characters, and thus indentations are also 8 characters. b. The limit on the length of lines is 80 columns and this is a strongly preferred limit. c. The preferred form for allocating a zeroed array is the following: p = kcalloc(n, sizeof(...), ...); Both forms check for overflow on the allocation size n * sizeof(...), and return NULL if that occurred. Recently, I came across a blog post from Richard Rodger. In 'Why I Have Given Up on Coding Standards', he writes: Every developer knows you should have a one, exact, coding standard in your company. Every developer also knows you have to fight to get your rules into the company standard. Every developer secretly despairs when starting a new job, afraid of the crazy coding standard some power-mad architect has dictated. It's better to throw coding standards out and allow free expression. The small win you get from increased conformity does not move the needle. Coding standards are technical ass-covering. Oh boy. While I disagree with Richard that coding standards should be abandoned, I share his pain. I briefly worked with a nut job of a "senior developer" who came in as the lead for a project we'd been working on for 6 months. He was an academic who had just finished his PhD and had little experience working on real world projects. He spent first couple of weeks writing "coding standards" in total isolation like he was some kind of a God and we were lowly beings who just weren't good enough. His coding standards document was full of his personal opinions and promoted some insane form of coding style. The control freak demanded that we update the source code we had already written to reflect his standards. I have never witnessed team morale hit rock bot

## git pre-commit hook for code beautification

DevFeed: [git pre-commit hook for code beautification](<https://devfeed.tech/articles/git-pre-commit-hook-for-code-beautification-21702.md>)

Original publisher: [Read original article](<https://nativeguru.wordpress.com/2016/01/30/git-pre-commit-hook-for-code-beautification/>)

Author: Ramon

Published: 2016-01-30T20:22:19Z

Content type: tutorial

Language: en

Sources: [Ramon Fried](<https://devfeed.tech/sources/ramon-fried.md>)

Topics: [Git](<https://devfeed.tech/topics/git.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Script](<https://devfeed.tech/topics/script.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [artistic-style](<https://devfeed.tech/tags/artistic-style.md>), [astyle](<https://devfeed.tech/tags/astyle.md>), [code-beautification](<https://devfeed.tech/tags/code-beautification.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [git](<https://devfeed.tech/tags/git.md>), [git-commit](<https://devfeed.tech/tags/git-commit.md>), [git-hook](<https://devfeed.tech/tags/git-hook.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [script](<https://devfeed.tech/tags/script.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

A tutorial on using a Git pre-commit hook to automate code beautification. The hook runs astyle on files included in a commit, helping apply formatting rules such as spacing and indentation; the article also discusses Linux user-space and kernel coding styles and the checkpatch.pl script.

### Source excerpt

Hi. In this post I will share a git pre-commit hook I created for aiding with code beautification. In Linux, I work in two different coding styles: User space and Kernel. The Linux kernel has a very specific coding style and every commit to kernel must adhere to that style. The Linux kernel provides a [...]

## Java 8 workshop at Finn.no

DevFeed: [Java 8 workshop at Finn.no](<https://devfeed.tech/articles/java-8-workshop-at-finn-no-31990.md>)

Original publisher: [Read original article](<https://tech.finn.no2015/02/16/java-8-workshop-at-finnno/>)

Author: Sjur Millidahl

Published: 2015-02-16T07:50:16Z

Content type: tutorial

Language: en

Sources: [Finn.no](<https://devfeed.tech/sources/finn-no.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [coding style](<https://devfeed.tech/topics/coding-style.md>), [Code](<https://devfeed.tech/topics/code.md>), [exceptions](<https://devfeed.tech/topics/exceptions.md>)

Tags: [coding-style](<https://devfeed.tech/tags/coding-style.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [java](<https://devfeed.tech/tags/java.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [language](<https://devfeed.tech/tags/language.md>), [optional](<https://devfeed.tech/tags/optional.md>), [stream](<https://devfeed.tech/tags/stream.md>), [workshop](<https://devfeed.tech/tags/workshop.md>)

### AI overview

This article describes a two-part workshop at Finn.no on adopting Java 8's functional programming features. It covers streams and lambdas, then Optional and an in-house Either type for handling absent values and exceptions.

### Source excerpt

Pondering on the right lambda for the job With Java 8 comes a whole new set of language features. It even challenges the imperative coding-style of the Java programmer. Java is a core language in Finn.no. More and more of our java-modules are being built with Java 8, adopting new features of the language. A workshop was warranted, with the goal of bringing every developer up to speed on the functional paradigm of Java 8. In Finn.no, we want programmers to do stuff like this db.fetchLastDayAds() .stream() .filter(ad -> "bap-webstore".equals(ad.getAdType())) .flatMap(ad -> ad.getContacts().stream()) .distinct() .flatMap(per -> Optional.ofNullable(contact.getEmail()).map(Stream::of) .orElseGet(Stream::empty)) .peek(contact -> LOG.trace("Sending notification to "+per)) .forEach(this::sendNotification); While avoiding stuff like this IntStream.iterate(0, i -> (i + 1) % 2) .parallel() .distinct() .limit(10) .forEach(System.out::println); (Locking up all cores on a CPU is bad, and should only be done when the machine is right about to become self-aware and turn against you.) Several lambda-arrows pointing in the right direction here We split the workshop into two half days. The first day was dedicated to streams and lambdas. Everyone seemed keen on getting those tests green (a rhyme!). Day 2 we raised the bar with Optional and our in-house version of Either<L,R>. With these structures, much more code can be written functionally in a world where values might not exist (be null), and things may go wrong (throw exceptions). We need power.. lots of power! Both the word "monad" and the phrase "monadic domain" was uttered several times, but we still saw very few making the swoooosh-sound while flying a hand over their head (the internationally recognized sign of communicating that a topic is beyond mental capacity). This might mean that the timing was good, and developers are interested in the new features of Java 8. You may checkout the project and do the tasks yourself, by mak

## Improving Frontend Code Quality and Workflow

DevFeed: [Improving Frontend Code Quality and Workflow](<https://devfeed.tech/articles/improving-frontend-code-quality-and-workflow-19697.md>)

Original publisher: [Read original article](<https://word.bitly.com/post/37725436365>)

Author: Wordbitly

Published: 2012-12-11T18:45:27Z

Content type: tutorial

Language: en

Sources: [Bitly](<https://devfeed.tech/sources/bitly.md>)

Topics: [Front end](<https://devfeed.tech/topics/frontend.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [modules](<https://devfeed.tech/topics/modules.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>)

Tags: [code-quality](<https://devfeed.tech/tags/code-quality.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [coding](<https://devfeed.tech/tags/coding.md>), [coding-style](<https://devfeed.tech/tags/coding-style.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>)

### AI overview

A Bitly frontend engineer describes improving code quality and workflow by introducing shared JavaScript style conventions, evaluating tools and libraries, and adopting CoffeeScript for new frontend code. The article explains how consistent patterns can improve code readability, onboarding, and maintainability.

### Source excerpt

When I started at Bitly as a Frontend Engineer, we were about to launch the new bitly. It was exciting to be so close to a product launch and we were cranking out lots of code each day. It took me a few days to get my bearings in the sprawling codebase and I saw lots of opportunity for refactoring, cleanup, and style normalization as well as some architectural concepts we weren't leveraging. Product launch mode kept us from doing house keeping for the next few months after we released the new product as we collected feedback and iterated on several designs/functionalities. Once we had a chance to take a step back and regroup, I saw that we could be more productive if we invested in a common JavaScript style (both syntax and module level patterns) and re-evaluated which libraries we were leveraging to build the site. When we decided the next feature work would be on save/share modal dialogs, I used this as an opportunity to evaluate my new picks for tools and libraries. The result was a success and allowed us to adopt the new tools and libraries for all new features (see Easily Save and Share the Links You Love). Keep reading to see what tools we ended up using to make us more productive! Coding style guidelines If you've seen frontend JavaScript codebases older than six months with two or more developers working on them, you've seen how hard it is to enforce style. The goal of a style guide (and code conventions in general) is to reduce the amount of friction when switching between different modules in a codebase and increase the consistency and readability of code. If every module follows the same patterns, you can easily get your bearings in code written by your coworkers. Every team should have a common style that is enforced in code review and ideally written in a document that can be referred to for new hires. For JavaScript at Bitly, we mostly use the Google Style Guide without the JSDoc and with a variation that non-method variables are lowercase_with_undersc