Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CodeJam #451

Closed
wants to merge 4 commits into from
Closed

Add CodeJam #451

wants to merge 4 commits into from

Conversation

NN---
Copy link

@NN--- NN--- commented Dec 16, 2016

Misc/CodeJam - https://github.com/rsdn/CodeJam

PROJECT_DESCRIPTION

Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another

@NN---
Copy link
Author

NN--- commented Dec 18, 2016

Anyone can explain why the check fail ?

  1. [L321]  https://slimdx.org/ SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 

@zihotki
Copy link
Contributor

zihotki commented Dec 18, 2016

@NN--- it fails because the certificate at https://slimdx.org/ has expired and unfortunately the site doesn't have an http version.

@zihotki
Copy link
Contributor

zihotki commented Dec 18, 2016

I have complex feeling regarding it - there are a lot of such all-in-one utility libraries and to know what's there you have to invest a lot of time. Also at some point you may find that you need another piece which is in different all-in-one library so you add it too for only one or two functions. And you can endup with big mess. On my practice and considering functionality provided by the library when you need code like that then it's most of the time a code-and-forget code. Such code is just easier to stackoverflow or find a gist and copy it into your project given that it can be easily done using [Developer Assistant] add-in (https://marketplace.visualstudio.com/items?itemName=OneCodeTeam.DeveloperAssistant-13032).

@andrewvk
Copy link

The main difference between this library and code-and-forget code is quality - significant efforts invested in the performance, readability, flexibility, documentation and so on.
So, using this library is much better than copypasting dirty code from project to project over and over again.

@zihotki
Copy link
Contributor

zihotki commented Dec 20, 2016

@andrewvk Is it? Does it really matter if code executes in 1 or 2 seconds if code is not in hot path? I doubt that. If it's in hot path and you care about performance - it'd be optimized and performance tested. And most of code you can easily find is good enough.
Documentation? What I see there is just xml documentation comments but that's can't be called a good documentation. In many cases they may even be called redundant because method names and signatures are self-describing. Sorry, but I can't call a documentation generated from xml comments and uploaded in github wiki a good documentation. Good documentation should be like this. As for utility functions the best documentation is the source code of the function.
Also in case if you are writing high-performance application it's even better to copy the code because in that case it'll be owned by a team, which in it's turn will allow to do optimizations or refactorings in place.
My point is not that it's not performant or it's bad but that it's not awesome and small.

@andrewvk
Copy link

andrewvk commented Dec 20, 2016

  1. Performance is not the only impotant thing. Code readability, good identifiers, Resharper annotations, good test coverage is equally important. And why you should do optimize code if you can get it for free? Why you use .NET FW, if you can write it from scratch or copy sources in every project?
  2. Xml doc comments is not the only doc. See https://github.com/rsdn/CodeJam/tree/master/PerfTests/docs for example. And this is ongoing process.
  3. Of course, you can get any piece of library code and copy to own project, and quality of this code, on average, is much better, than pieces from SO.

I think, your arguments becoming more and more subjective. OK, you personally like to copy and paste trivial pieces of code from SO or MS samples in every project, rather than use refined code from library. But this doesn't make library worst, isn't it?

@zihotki
Copy link
Contributor

zihotki commented Dec 22, 2016

Yes, I'm subjective, that's not even a question. Awesomeness is also very subjective topic. I spent some time looking at the code, what I saw and what I don't like is that huge part of the code is a very trivial code. It also has some parts which should belong to separate libararies like CSV parser, Mapper, DI (Services), Ranges, Assertions. There are a plenty of more robust, solid, feature-rich, and well-documented alternatives for them and they are already widely used. If you exclude those parts you endup with a very small amount of code and percentage of trivial code will be very high. No matter if it's tested, annotated, etc. it's still trivial code. And more I look at it, more convinced I become.

@pleb
Copy link
Collaborator

pleb commented Jan 2, 2017

Hmm. I'm unsure of this one too. On one hand, yes, this is a nice little helper library. On the other hand is it awesome? Probably not awesome enough. Maybe we throw over to the community to decide?

@pleb
Copy link
Collaborator

pleb commented Apr 12, 2017

Sorry @NN---, the community didn't really step up and support this.

@pleb pleb closed this Apr 12, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants