Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Unhealthy code style

Open
#18 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript
Domain
tooling

Research direction

Locate the nonZero function shown in the issue and inspect nearby loop-style conventions before deciding whether the proposed change fits the project. Compare the current and proposed forms for equivalent behavior, then verify the chosen style without changing the function's output.

Written by the indexing model from the issue text.

Description

I've found you are always prevent to use for loop but for loop is better than while loop in case of determined loop steps. It's more reliable.

E.g:

function nonZero (len) {
  var out = Buffer.allocUnsafe(len)
  var i = 0
  var cache = randomBytes(len * 2)
  var cur = 0
  var num
  while (i < len) {
    if (cur === cache.length) {
      cache = randomBytes(len * 2)
      cur = 0
    }
    num = cache[cur++]
    if (num) {
      out[i++] = num
    }
  }
  return out
}

Could be:

function nonZero (len) {
  var out = Buffer.allocUnsafe(len)
  var cache = randomBytes(len * 2)
  var num
  for (  var i = 0, cur = 0; i < len; i++) {
    if (cur === cache.length) {
      cache = randomBytes(len * 2)
      cur = 0
    }
    num = cache[cur++]
    if (num) {
      out[i] = num
    }
  }
  return out
}
Dominant language
JavaScript
Stars
28
Forks
10
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from browserify/publicEncrypt

All issues in browserify/publicEncrypt

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.