Skip to content

stream: name anonymous functions - #9130

Closed
maasencioh wants to merge 2 commits into
nodejs:masterfrom
maasencioh:name_stream
Closed

stream: name anonymous functions#9130
maasencioh wants to merge 2 commits into
nodejs:masterfrom
maasencioh:name_stream

Conversation

@maasencioh

@maasenciohmaasencioh commented Oct 17, 2016

Copy link
Copy Markdown
Contributor
Checklist
  • make -j8 test
  • commit message follows commit guidelines
Description of change

Ref: #8913

For some callbacks I made a change to arrow funtions and for _stream_readable there was a change in Readable.prototype.wrap that I would like some opinions because I'm not sure if it's going to work as spected

@nodejs-github-botnodejs-github-bot added the lib / src Issues and PRs related to general changes in the lib or src directory. label Oct 17, 2016
@mscdexmscdex added stream Issues and PRs related to the stream subsystem. and removed lib / src Issues and PRs related to general changes in the lib or src directory. labels Oct 17, 2016
Comment threadlib/_stream_transform.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why add the _ prefix?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is to avoid conflict with afterTransform that is called on next line.

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since these are being changed to arrow functions, the self can be switched to this

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oups, you're right, thanks

Comment threadlib/_stream_readable.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe use a camel case name like readableResume ?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking to change it to _resume, in order to be consistent

Comment threadlib/_stream_transform.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is to avoid conflict with afterTransform that is called on next line.

@lpinca

lpinca commented Oct 17, 2016

Copy link
Copy Markdown
Member

I wonder if some of these changes, like _afterTransform, conflict with #9113.

@maasencioh

Copy link
Copy Markdown
ContributorAuthor

@lpinca I just look at those and we both change _stream_wrap.js but in different lines, so it shouldn't conflict, but thank for pointing it out, I didn't review other PRs

@lpinca

Copy link
Copy Markdown
Member

@maasencioh my bad, I thought #9113 was proposing an eslint rule to check if names matched. Ignore me.

@maasencioh
maasenciohforce-pushed the name_stream branch 3 times, most recently from 2d4565b to 5a04861CompareOctober 18, 2016 13:31
@maasencioh

maasencioh commented Oct 18, 2016

Copy link
Copy Markdown
ContributorAuthor

@jasnell not all the self were removed, because in some cases the arrow funtion was inside a regular function, I run the tests and everithing it's currently passing

@rvagg
rvaggforce-pushed the master branch 2 times, most recently from c133999 to 83c7a88CompareOctober 18, 2016 17:02
Comment threadlib/_stream_readable.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe call this one resume and rename the local function to resumeReadable ?

@jasnelljasnell left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM if CI is green

targos
targos previously approved these changes Oct 24, 2016
@targos

Copy link
Copy Markdown
Member

@maasencioh

Copy link
Copy Markdown
ContributorAuthor

I'm not sure that the CI failures are related to the changes

@maasencioh

Copy link
Copy Markdown
ContributorAuthor

@jasnell sorry it's anything else needed in this PR?

@mcollinamcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some nits.

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please revert all of those to function and name them?

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you please name this one?

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you please convert this forEach in a for loop, it can probably save us a couple of ticks.

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you please name this?

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be named as well, also can you make this function top level, so that the for loop under can be optimized.

@mcollina

Copy link
Copy Markdown
Member

@maasencioh would you mind addressing the comments above? We can land this!

@mcollinamcollina added the stalled Issues and PRs that are stalled. label Jan 26, 2017
@maasencioh

Copy link
Copy Markdown
ContributorAuthor

Hello @mcollina, I thought that this was forgotten, but here I just added the new nits

Comment threadlib/_stream_readable.js Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not name this?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry I miss that one, I'll check on the other ones

Comment threadlib/_stream_readable.js Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to ignore, but I prefer naming handlers like onEnd, onData, etc.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't sure which name could be more useful, so this comments are great, thanks

@mcollinamcollina removed the stalled Issues and PRs that are stalled. label Jan 29, 2017

@mcollinamcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of nits and we are good to go.

Can you squash the commits as well?

Comment threadlib/_stream_writable.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can this have a different name? Like _hasInstancePolyfill?

Comment threadlib/_stream_writable.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we name this writableHasInstance?

@maasencioh

Copy link
Copy Markdown
ContributorAuthor

how does it looks now @mcollina?

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are you sure you can use this here?

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

self is not defined anymore in this function.

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this?

Comment threadlib/_stream_wrap.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you please revert this to self?

@mcollina

Copy link
Copy Markdown
Member

@mcollina

Copy link
Copy Markdown
Member

@maasencioh can you swash all the streams commit into one? I think it'd be easier to move around.

@maasencioh

Copy link
Copy Markdown
ContributorAuthor

@mcollina I took my time to make it completely like it should be, I changed everything, but I hope that all it's correct now

Comment threadlib/_stream_readable.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the norm is to omit the space after the function name.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TimothyGu any tip to run the linter and test only on this files? thanks

Comment threadlib/_stream_readable.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you restore these spaces?

@maasencioh

Copy link
Copy Markdown
ContributorAuthor

@mcollina what do you think now? any tip to run the linter and test only on this files? thanks

@targos

Copy link
Copy Markdown
Member

@maasencioh run make jslint to run the linter. It will check all files the first time but the results are cached so subsequent runs should only check modified files.

@mcollina

Copy link
Copy Markdown
Member

LGTM if ci is green.

@maasencioh

Copy link
Copy Markdown
ContributorAuthor

@jasnell@mcollina@targos could you please help me whith this doubt?

I renamed a function as proposed like this:

Object.defineProperty(Writable,Symbol.hasInstance,{value: functionwritableHasInstance(object){if(realHasInstance.call(this,object))returntrue;returnobject&&object._writableStateinstanceofWritableState;}});

But currently this throws a jslint error

137:5 error Function name `writableHasInstance` should match property name `value` func-name-matching

Should I follow the func-name-matching rule? because this will force me to rename several functions to avoid conflicts

@mcollina

Copy link
Copy Markdown
Member

@maasencioh I think you can go ahead and leave that function anonymous.

@TimothyGu

Copy link
Copy Markdown
Member

@maasencioh, alternatively, you can use an ESLint annotation to suppress that error. See this example in lib/internal/url.js.

@jasnelljasnell added the stalled Issues and PRs that are stalled. label Mar 24, 2017
@fhinkel

Copy link
Copy Markdown
Member

There hasn't been any activity here. I'm closing this. Feel free to reopen (or ping a collaborator) if I closed this in error.

@fhinkelfhinkel closed this May 26, 2017
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stalledIssues and PRs that are stalled.streamIssues and PRs related to the stream subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants

@maasencioh@lpinca@targos@mcollina@TimothyGu@fhinkel@jasnell@cjihrig@mscdex@nodejs-github-bot