Closed gireeshpunathil closed 6 years ago
replace instances of typeof 'x' === 'y' constructs in tests with util.isY(x) constructs [ ~600 instances spread across ~200 test files ]
All the relevant util.is*()
funcitons are deprecated. I don't think we should be using them in test code. I prefer typeof
checks myself. Is there something I'm missing?
I have some leftover tasks from the Vancouver Code & Learn. It's also possible that there will be some leftover after the NodeConf EU Code & Learn. Do you have an idea how many attendees you expect?
If you want to help out ChakraCore, there are tests where they float patches to make them pass with ChakraCore because the error message text is different than provided by V8. In my opinion, we should not rely on error message text that originates from the JS engine as it can change any time we update the engine to a new version. So, a good task might be removing the message text checks and replacing with a simple check that something is a RangeError
or TypeError
or whatever, or else changing them to regular expression or String.prototype.includes()
checks that are unlikely to break.
You'll have to either get the list of tests where this is relevant from @nodejs/node-chakracore or else maybe look at their repo to figure out which tests are modified.
@Trott - thanks, I did not check that util.is*
are deprecated, realized now. So will skip that.
leftover tasks from the Vancouver Code & Learn
are those the correcting the order or assert
parameters? or something else? please let me know, so I will dig those out and see how many are there.
leftover after the NodeConf EU Code & Learn
sure, I will check with @BridgeAR to see if there are TODO items from those, after that event.
Chakaracore - thanks for the suggestion, I will review that and see if we can include that as well.
count of attendees - at this point I have no idea, will get a clear picture in a week's time.
thanks once again!
are those the correcting the order or
assert
parameters?
@gireeshpunathil That's probably a lot of them, maybe even most of them. And I suspect @BridgeAR will be using those at NodeConf EU, so maybe wait until after NodeConf EU to try to see how many are left?
Suggestions on any other useful and interesting refactoring suggestions are appreciated.
@gireeshpunathil Maybe you can promote v8 name spaces with using v8::
in src
directory. Things like those https://github.com/nodejs/node/pull/23934, https://github.com/nodejs/node/pull/22641
thanks @ZYSzys ! makes sense, will do! thanks.
given the RSVP count has reached 65, I am thinking of
test: convert anonymous closure functions into arrow functions
to be used as fillers, in case of scarcity.
/cc @Trott to see if this is indeed a good candidate and has no side effects. (IIRC we used it in the past, but don't remember when)
@gireeshpunathil I'll send you a list of tasks later on that are still open from the ones that I created for NodeConf EU but there are only very few left.
In #86 you find a short FAQ for things that are commonly asked. Please feel free to expand that list in case you come among anything new.
I also created #89 as an example how to actually solve the tasks.
As a recommendation: go through the coverage mid next week and create new tasks that people could solve. These have been quite popular and it is nice to have more of these instead of only the super simple ones.
thanks @BridgeAR - that will be really helpful! #89 looks really impressive, agree that it is a real win-win in terms of satisfaction and quality.
@gireeshpunathil @BridgeAR Thanks for this. By the way, I thought we can also tackle this issue: https://github.com/nodejs/node/issues/22492, in the meet up. It already have list of code blocks, which might need test cases. This in fact, gives the folks an idea to navigate around the codebase and see if a test case is present or not. If not add them (certain things might not be easy). Thoughts? 🤔
I guess this a win-win situation too.
@antsmartian - thanks for this insight! definitely looks promising. I will go through it in detail to figure out how to extract PRs from that.
If you need issues, especially slightly more challenging ones than the usual initial issues, there are a few PRs that seem really close, but have been abandoned. A couple examples are https://github.com/nodejs/node/pull/21372 and https://github.com/nodejs/node/pull/22315.
Code & Learn BLR about to start in one hour from now. 50 participants in the room to be on-boarded . Request @nodejs/collaborators to support this with reviews and hand-holding. thanks!
Code & Learn review mode: ON
New contributors are absolutely excited about this, few of them sent me emails and shared their happiness. Few of them are picking up work items on their own.
Thank you all the mentors who reviewed PRs with absolute receptiveness, approachability and kindness. Your guidance created a great open source experience to them that they can leverage!
Closing this issue as its purpose is met, having most of the PRs in the codebase; and giving way for #92
We (@thefourtheye, @ryzokuken and me) are planning to run a code & learn in Bangalore on November 17th (I guess this is the second one in India, after #76).
The exercise will be run as part of the next instance of Polyglot-Languages-Runtimes meetup. IBM office space will be used for the event. Count of expected participants is unknown at the moment.
Request your support in hand-holds and reviews, thanks in advance. Some of the changes we have ear-marked are:
typeof 'x' === 'y'
constructs in tests withutil.isY(x)
constructs [ ~600 instances spread across ~200 test files ]Suggestions on any other useful and interesting refactoring suggestions are appreciated.
[EDIT]: As of 11/05, 39 people going for the meetup As of 11/09 : 65 As of 11/11: 102 As of 11/13: 135 As of 11/15: 184