Comments (8)
CQ
| API
- Behaviours
class works like a namespace, unnecessary nesting.
Lines 6 to 11 in 64c33b8
This makes the calling side to have the following code:
using static sisbase.Utils.Behaviours;
Proposed solution
Remove the nesting and move said enums to their own namespace so the calling side would be this instead:
using sisbase.Utils.Enums;
from sisbase.
CQ
| API
- EmbedBase.ListEmbed uses IEnumerable<T>
which is inconsistent with the api name, and likely could cause issues since IEnumerable
can be anything that provides an enumerator.
Eg :
Dictionary<T>
ConcurrentDictionary<T>
ConcurrentBag<T>
...
Line 163
in
64c33b8
Proposed Solution
Line 163 in 64c33b8
Change the function declaration to use an List<T>
or IList<T>
.
from sisbase.
CQ
- Complex nested code could be made into a function
Lines 182 to 204 in 64c33b8
from sisbase.
CQ
- Manual foreach be simplified by a linq expression
Lines 56 to 62
in
64c33b8
Proposed expression
Lines 56 to 62 in 64c33b8
var groups = RegisteredCommands.Where(x => x is CommandGroup).Distinct();
from sisbase.
CQ
- Duplicated code that should be made into a function
Lines 63 to 64
in
64c33b8
Lines 84 to 85
in
64c33b8
Proposed function
Lines 63 to 64 in 64c33b8
Lines 84 to 85 in 64c33b8
/* public? */ async Task<bool> IsValidAsync(/*this?*/ Command c, bool hidden);
from sisbase.
CQ
| API
- Unused inferface. Should be deprecated/removed.
sisbase/Utils/IStaticSystem.cs
Lines 3 to 8 in 64c33b8
from sisbase.
CQ
- Poor variable names
Lines 34 to 35 in 64c33b8
from sisbase.
BUG
| EXC
- Non-exaustive call to string.Join
which generates null
once a list is empty. Embed fields can't have null
values leading to an invalid embed generation.
Lines 64 to 67 in 64c33b8
from sisbase.
Related Issues (20)
- Issues related to 2.0 migration process
- IClientSystem API is outdated
- Ambiguous references on the sisbase.Utils namespace HOT 3
- Improve Unicode emoji support (currently Utils/Unicode.cs) HOT 1
- Main config file porting HOT 2
- Safely handle malformed/invalid config files HOT 3
- List of issues waiting timeline unification
- Relicensing
- Hierarchy Utils
- Sharding support
- Looking at alternative api wrappers
- EmbedBase overhaul
- Aliases not showing on EmbedBase.CommandHelpEmbed
- Add documentation for setting up (probably on the wiki)
- Add documentation for legacy apis HOT 5
- Improve HierarchyUtils HOT 3
- Remove dependence on static singleton Instance of SisbaseBot HOT 2
- SystemManager (SMC 3.0) API specification HOT 2
- Functions from dsp.interactivity HOT 23
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sisbase.