Enum (also enumeration) is a data type consisting of a set of named values called elements, members or enumerators of the type. The enumerator names are usually identifiers that behave as constants in the language, and are often predefined with an implied ordering.
4
votes
1answer
68 views
Can't I use an enum at application level if I have a NxN relationship?
After reading the answers to this question, and this and this related questions, I'm now confused about how/if to work with an enum having an NxN relationship.
Let's say I have an entity Hotel, an my ...
24
votes
6answers
3k views
Why would you store an enum in DB?
I've seen a number of questions, like this, asking for advice on how to store enums in DB. But I wonder why would you do that. So let's say that I have an entity Person with a gender field, and a ...
-1
votes
1answer
120 views
Good examples of “Smart enums in c#”? [closed]
I just stumbled upon this post (answer).
I see the elegance of this pattern, but I don't see value yet.
Except, I see how it may be used in Strategy and State patterns (it's convenient, but I didn't ...
4
votes
1answer
220 views
is switch(this) antipattern or bad practice in Java for Enums?
At work I bumped into a problem to see how enums are growing and storing business logics. As they grew, the constructors grew a lot. At one point I found out instead of putting in let's say the tenth ...
2
votes
1answer
88 views
Use of project-specific values with enum defined in class library
We have an enum in a class library:
Public Enum FieldType
Phone
Span
Gender
DrawPath
....
End Enum
which we use with an attribute applied to properties, for multiple scenarios: ...
1
vote
1answer
145 views
Understanding Enums in Java
I am reading Effective Java there its told that:
The basic idea behind Java’s enum types is simple: they are classes that export
one instance for each enumeration constant via a public static ...
3
votes
5answers
786 views
When are enums NOT a code smell?
Dilemma
I've been reading a lot of best practice books about object oriented practices, and almost every book I've read had a part where they say that enums are a code smell. I think they've missed ...
1
vote
1answer
142 views
What was the first programming language with Enumerations?
I'm reading about Swift enum's in the Swift Programming Language guide and the text was comparing the differences between Swift's enum and C's enum. This made me curious as to where enumerations came ...
10
votes
1answer
535 views
Is it wasteful to create a new database table instead of using enum data type?
Suppose I have 4 types of services I offer (they are unlikely to change often):
Testing
Design
Programming
Other
Suppose I have 60-80 of actual services that each fall into one of the above ...
1
vote
3answers
286 views
Would combining enums with static strings in java be sloppy?
Currently my team has a number of constants defined as static final strings. I want to be able to iterate over these strings as if they were an enum in one location, but everywhere else they are used ...
4
votes
3answers
279 views
Is enum order sensitivity an antipattern?
Is it an anti-pattern to depend on a particular order of an enum's instance declarations? For example, consider:
public enum CompassPoint {
North,
East,
South,
West;
}
These points ...
0
votes
0answers
119 views
Class to manage EEProm Memory for microcontroller in .netMF
I've got a working driver to access the EEPROM chip, but looking for much better management and access of the memory. I've been racking my brain about what's the best or correct approach to do this.
...
1
vote
2answers
175 views
One Enum vs Multiple Enums
I am developing an application where a user submits a mission and other users accept the mission.
Pretty simple.
I want to keep a track of the mission progress status and store it into a database.
...
5
votes
5answers
1k views
Is it okay to go against all-caps naming for enums to make their String representation simpler?
Several times I've seen people use title-case or even all lower-case naming for enum constants, for example:
enum Color {
red,
yellow,
green;
}
This makes working with their string form ...
1
vote
1answer
187 views
Java partial enum backed by the database
I have following problem:
need to use enum in my java code, since I'll have to ask in my business logic things like if(someting == enumname.VALUE_ENUM){... but I don't have all the enum types at the ...
2
votes
1answer
236 views
Static properties and implicit “self” property in structures and enumerations vs classes in Swift
I am currently reading the Swift language documentation and came across these sentences in the chapter about methods:
Similarly, type methods on structures and enumerations can access
static ...
17
votes
5answers
3k views
Do enums create brittle interfaces?
Consider the example below. Any change to the ColorChoice enum affects all IWindowColor subclasses.
Do enums tend to cause brittle interfaces? Is there something better than an enum to allow for ...
4
votes
2answers
453 views
Enums in java switch-statements and completeness
I feel like I should be able to find an answer to this, but it turns out to be harder to search than expected... so:
In C#, when we do something like:
enum MyEnumClass { A, B };
static String ...
4
votes
2answers
696 views
How can I avoid these nested repetitive ifs?
I'm trying to implement a web interface for a user database. Hosts can create guests for their courses, the guests can get deleted after the course has ended but have to remain in the database for a ...
1
vote
0answers
150 views
Should I use enums or arrays for a dynamic data source?
I've inherited an iOS project that uses NS_Enum to store the number of rows and sections in a UITableView At the moment, the UITableView is static; no rows are being added to it. However, that is what ...
1
vote
0answers
83 views
Enforce coding decision to include or exclude an Enum element in an EnumSet at compile time
I would like to enforce that the elements of a Java Enum are chosen or excluded from an EnumSet at compile time
i.e. I am forced to make the decision to put it in the set or not whenever I create a ...
1
vote
1answer
214 views
Open closed principle vs abstraction leaking (Java enums)
In Java, an enum is not a plain replacement for a number (like in C/C++), but a family of objects which can have properties. For instance
public enum Order {
NAME("Ordering by name"),
...
4
votes
2answers
589 views
Is it a good practice to burn business logic into Enums?
Let's have a simplified business logic like this:
public enum BusinessLogic {
STAGE_ONE(true, false, false),
STAGE_TWO(true, true, false),
STAGE_THREE(false, false, true);
private final ...
0
votes
1answer
157 views
Enum as singleton or fully functional class [duplicate]
Joshua Bloch claims that
"a single-element enumeration type is the best way to implement a
singleton"
Why? I totally disagree with this statement because enumeration is data type with some ...
1
vote
3answers
152 views
Nullable enumeration values vs. “NoValue” or “Undefined”, etc
I often write code which translates entities in the database to domain objects. These entities often have fields which are constrained and translate to enumerations in the domain objects. In some ...
2
votes
1answer
207 views
Why use a enum to create the singleton pattern [duplicate]
Why would you use an enum to create a singleton pattern?
To what purpose would it serve over a conventional singleton pattern?
I have seen the above used. The code uses an enum to create this pattern ...
5
votes
2answers
703 views
Is it better to use strings or int to reference enums outside the java part of the system?
We were having a discussion at my work about the use of enums in Java.
A coworker was arguing that when using enums on the server-side, whenever required we should use string to reference to it (for ...
1
vote
2answers
151 views
Enumerated types and their interpretation by compilers
It seems to me that a lot, if not most, compilers treat enumerated types as int underneath. In C/gcc, enums are compiled to int. In C#/Visual C#, you can change the underlying data type with something ...
3
votes
6answers
1k views
Explicitly define enum values, even if the default value is the same?
There are times when an enum's values are important: it is not necessary for them to be unique, they also need to have specific values. In such cases, should the values be explicitly defined, even if ...
1
vote
3answers
373 views
How can I mock this architecture?
This is not a very general question, so it may not exactly be appropriate here, but I could sure use a suggestion if you have one:
I have an object containing a dictionary keyed off of an enum, ...
-1
votes
2answers
632 views
Is enum not a class? [closed]
I was just exploring enums. One thought came in my mind- what if a class can extend enum.
I understand this is not practical, but what surprises me, is the compiler error given-
"The type MyEnum ...
0
votes
2answers
135 views
Is there a way for Object 1 to call Object 2's enums in a function call?
For example, if I have two classes "Director" and "Follower". I want the Director to tell the follower where to go (ex: follower1.go(direction.LEFT)), and I want the Director to know what directions ...
4
votes
2answers
2k views
Best approach for multilingual Java Enum
I'm running into issues with an approach I am taking and am now wondering if I just started down the wrong path and should rethink my approach. Here is what I attempting.
I would like to use an Enum ...
2
votes
1answer
488 views
Several enum classes that declare constants with the same names
I'm working on a Java library for sorts for Magic: the Gathering. Well, without going into a lot of detail, in the game there are five different colors of magic: white, blue, black, red, and green. ...
7
votes
7answers
2k views
Why isn't there a next operation on enums?
In most popular programming languages like Java and C# there is a way to define enums, which are essentially datatypes with a fixed set of values, e.g. DayOfWeek.
The problem is, given a value, e.g. ...
0
votes
2answers
3k views
In what situation do Entity Framework enums become useful?
I am working on a project where there will be plenty of static options being stored in the database. I looked at using Enums for this, but do not see how they could be useful.
They do not create any ...
2
votes
2answers
224 views
Allowing enum to express a valid combination of values
Suppose in a manufacturing environment, there are certain stock materials available for use in a product. For example, there are only a few different sizes of copper tube, each having a specific ...
1
vote
5answers
1k views
How to unit test a missing case in a switch statement where all cases are true
I often use enum types in my code with a switch to apply logic to each type. In these cases it's important that each enum has code implemented.
For example;
public enum eERROR
{
REQUIRED,
...
1
vote
1answer
657 views
constants/enums in API
What are a few ways constants and enums are dealt with when creating an API Client? I'm writing a client in python for our API and I've hit a sticking point with this. We use a lot of mappings to ...
2
votes
2answers
480 views
Are the IETF BCP 47 language tags defined as enums anywhere in JDK?
Are the IETF BCP 47 language tags defined as enums anywhere in JDK?
For Locale.forLanguageTag() we pass values like fr-FR, jp-JP etc.
Are there any enums already provided by JDK for it? Or should ...
2
votes
1answer
467 views
Which is better to use? (Enum or Constant)
I have my enum like this.
enum Size{PAGE_SIZE=20,
HEADER_SIZE=30
};
I only use them as constants(No enum variable created) in my program.
i.e= int x = PAGE_SIZE + 20;
So what is the ...
11
votes
3answers
2k views
How to represent (enum) types in a public API
I am working on a simple API that I want to use for my own client, and to open to the public in the future.
I have "Item" objects which can have different "types". The type is a C "typedef enum", for ...
3
votes
3answers
3k views
Compatibility of Enum Vs. string constants
I was recently told that using Enum:
public enum TaskEndState { Error, Completed, Running }
may have compatibility/serialization issues, and thus sometimes it's better to use const string:
public ...
3
votes
1answer
1k views
Could someone explain HaXe enums?
I have AS3/PHP background and some basic understaning of enums from C++. Saying shortly: I read this:
http://haxe.org/ref/enums
http://haxe.org/doc/cross/more_on_enum
And though - good ...
5
votes
5answers
2k views
In what situations does it make sense to use an enumeration when writing object-oriented code?
Enumerations1 are often associated with procedural code rather than object-oriented code. They tend to give rise to similar switch statements scattered through the code, and in general, these are ...
1
vote
3answers
331 views
Does an in-code enumeration provide a stronger domain model than a static table?
Does an in-code enumeration provide a stronger domain model than a static database table?
As an example, say I have an Marble entity, with a Color attribute. The color attribute has a finite set of ...
0
votes
1answer
307 views
use of Enum with flags in practice?
I just have read some stuff on enum today. Use of flags with enum was something interesting and new for me. But often practice and theoretical uses are different. I go through many articles they ...
8
votes
2answers
485 views
Why is Flags Enumeration considered an intermediate skill?
I was reading this article: Designing Flags Enumerations @ msdn and it says
Combining flags enumeration values is an intermediate skill that should not be required for developers implementing ...
28
votes
4answers
19k views
Using scoped enums for bit flags in C++
An enum X : int (C#) or enum class X : int (C++11) is a type that has a hidden inner field of int that can hold any value. In addition, a number of predefined constants of X are defined on the enum. ...
6
votes
2answers
4k views
Nested Enum type in C++ or C#?
I've come across a recurring issue in a few of my recent projects in which I find myself using enums to represent state, or type, or something else, and I need to check against a few conditions. Some ...