Skip to content
View nk18chi's full-sized avatar
Block or Report

Block or report nk18chi

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
nk18chi/README.md

Hi there, I'm Naoki

I am a full stack developer specializing in React.js, TypeScript, JavaScript, and Python. I am passionate about writing clean, maintainable code. Please feel free to reach out to me!

Linkedin Badge Github Badge

Things I code with:

React Badge TypeScript Badge JavaScript Badge Node.js Badge Express Badge MongoDB Badge Next.js Badge Redux Badge GraphQL Badge Apollo GraphQL Badge Python Badge Django Badge pandas Badge MySQL Badge HTML5 Badge CSS3 Badge jQuery Badge Sass Badge Chakra UI Badge Jest Badge Mocha Badge RTL Badge Storybook Badge Cypress Badge Elasticsearch Badge GitHub Actions Badge CircleCI Badge Docker Badge Amazon AWS Badge Firebase Badge Google Cloud Badge Google Analytics Badge Google Ads Badge Stripe Badge Salesforce Badge

Github Stats

Naoki's GitHub stats Top Langs

Faves

  • Cause of complexity is two. Dependencies and obscurity
  • The ideal design tends to emerge in bits and pieces. Thus, the best approach is to make lots of small investments on continues basis
  • Interfaces should be desinged to make the common case as simple as possible. Interface should be less and implementation should be bigger.
  • It is a myth that we can get systems “right the first time.” Instead, we should implement only today’s stories, then refactor and expand the system to implement new stories tomorrow. This is the essence of iterative and incremental agility. Test-driven development, refactoring, and the clean code they produce make this work at the code level.
  • Systems must be clean too. An invasive architecture overwhelms the domain logic and impacts agility. When the domain logic is obscured, quality suffers because bugs find it easier to hide and stories become harder to implement.If agility is compromised, productivity suffers and the benefits of TDD are lost.
  • Remarkably, following a simple and obvious rule that says we need to have tests and run them continuously impacts our system’s adherence to the primary OO goals of low coupling and high cohesion. Writing tests leads to better designs.
  • All too often we get our code working and then move on to the next problem without giving sufficient thought to making that code easy for the next person to read. Remember, the most likely next person to read the code will be you. So take a little pride in your workmanship. Spend a little time with each of your functions and classes. Choose better names, split large functions into smaller functions, and generally just take care of what you’ve created. Care is a precious resource.
  • “duplication is far cheaper than the wrong abstraction”, and thus to “prefer duplication over the wrong abstraction”.
  • The problem with “small functions” though, is that the quest for small functions ends up begetting even more small functions, all of which tend to be given extremely verbose names in the spirit of making code self documenting and eschewing comments.
  • Hard to Read: This has already been stated before but it bears reiterating — an explosion of small functions, especially one line functions, makes the codebase inordinately harder to read. This especially hurts those for whom the code should’ve been optimized for in the first place — newcomers.
  • Writing code every day makes lots of benefits as a developer.
  • Code as habit. This is about a change that you’re making in your life for yourself not a change that you’re making to satisfy someone else’s perception of your work.
  • Background processing. Your current task is frequently running in the back of your mind when I go for a walk, or take a shower, or any of the other non-brain-using activities I participate in.

Pinned

  1. leetcode-python leetcode-python Public

    LeetCode Solutions in Python

    Python 4

  2. pelican pelican Public

    E-commerce application that sells cellular phones with data plans and charges monthly subscriptions using Stripe.

    TypeScript 3

  3. chess-typescript chess-typescript Public

    The Chess Game is built by Node and Typescript

    TypeScript 2

  4. tempmon tempmon Public

    Monitor for a created folder and automatically generate custom files based on your templates - perfect for development

    TypeScript 1

  5. URL-Shortener URL-Shortener Public

    a simple URL shortener

    TypeScript 3

  6. modern-mern-stack-boilerplate modern-mern-stack-boilerplate Public template

    TypeScript 2