-
Список говнокодов пользователя wissenstein
Всего: 14
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
class Cat {
constructor(
public name: string) {
}
toCoolCat(coolness: number): CoolCat {
return new CoolCat(this.name, coolness);
}
}
// ...
class CoolCat extends Cat {
constructor(
name: string,
public coolness: number) {
super(name);
}
}
//...
function addCoolCat(coolness: number, cat: Cat): void {
this.coolCats.push(cat.toCoolCat(coolness);
}
//...
addCoolCat(80, {name: 'Greycat'});
Вроде TypeScript, а на самом деле NotCompletelyTypeScript.
Во время выполнения получим ошибку "cat.toCoolCat is not a function". Тем не менее, компилятор TypeScript позволяет это (а конкретно, строку 23) скомпилировать. Хотелось бы, чтобы не позволял.
wissenstein,
19 Декабря 2018
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
public void testGetClosedStatuses() {
List<FooStatus> expectedStatuses = Arrays.asList(
FooStatus.CANCELLED,
FooStatus.COMPLETED,
FooStatus.REJECTED);
List<FooStatus> closedStatuses = fooService.getClosedStatuses();
assertThat(closedStatuses, containsInAnyOrder(expectedStatuses.toArray());
}
Берём массив и преобразуем его в список. Чтобы использовать этот список, преобразуем его в массив.
wissenstein,
06 Декабря 2018
-
+4
- 1
- 2
- 3
- 4
- 5
final Optional<Customer> customer = Optional.ofNullable(customerId)
.map(custId -> customerService.getById(custId)
.map(cust -> Optional.of(cust))
.orElseThrow(() -> new NoSuchCustomerException(custId)))
.orElse(Optional.empty());
Попытка функционального программирования, когда в язык добавили монаду Optional, но не добавили монаду Try.
wissenstein,
07 Сентября 2018
-
−45
- 1
- 2
- 3
if (!allowed.equals(Boolean.FALSE)) {
return allowed;
}
wissenstein,
09 Сентября 2016
-
+136
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
private AseConnection con;
public void CloseConnection()
{
if (this.con != null && this.con.State == ConnectionState.Open)
{
CloseConnection(this.con);
}
}
public void CloseConnection(AseConnection con)
{
if (con == null)
return;
if (con.State == ConnectionState.Closed)
return;
con.Close();
}
А кому ещё враппэровъ? У меня много ихъ!
wissenstein,
18 Февраля 2014
-
+133
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
for (int idx = 0; idx < response.Length; ++idx)
{
try
{
if (getDetails(username, password, summaryList[idx].summaryId).productId[0].id != productId)
{
}
}
catch (NullReferenceException)
{
}
catch (System.ArgumentException)
{
response[idx] = new DetailInfo();
}
}
Если вы меня понимаете, .
wissenstein,
11 Февраля 2014
-
+136
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
public int GetModuleId(int userId)
{
return moduleIdGet(userId);
}
protected int moduleIdGet(int userId)
{
int moduleId;
// calculate moduleId
// ...
return moduleId;
}
Дал открытый доступ, но в то же время как бы сохранил защищённый.
wissenstein,
29 Января 2014
-
+74
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
if (myTransactions
.get(i)
.getTransactionType()
.name()
.compareToIgnoreCase(
com.mycompany.myproject.common.TransactionType.ENTER
.name()) == 0
|| myTransactions
.get(i)
.getTransactionType()
.name()
.compareToIgnoreCase(
com.mycompany.myproject.common.TransactionType.ENTER_AGAIN
.name()) == 0) {
BigDecimal fee = myTransactions.get(i).
.getAmount().subtract(
myTransactions.get(i)
.getContribution());
// ...
}
// Notes by Wissenstein
//
// package com.mycompany.myproject.common;
// public enum TransactionType {
// ENTER, ENTER_AGAIN, GET, GIVE
// }
// ...
// public class Transaction {
// ...
// public TransactionType getTransactionType() {
// ...
// }
// }
// ...
// List<Transaction> myTransactions;
// ...
// P.S. Идентификаторы изменены.
К тому, что myTransactions.get(i) повторяется, я уже привык и рефакторю это одним махом.
Однако использованный здесь метод сравнения значений типа enum меня озадачил…
wissenstein,
23 Января 2014
-
+70
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
// there is class PlayerExt, which extends class Player...
// min >= 0
// max <= players.size()
List<PlayerExt> players = playerManager.getPlayers(contestId);
Player[] response = new Player[players.size()];
for (int i = min; i < max; i++) {
response[i] = players.get(i);
if (!players.get(i).isQualified()) {
response[i].setChipStack(BigDecimal.valueOf(-1));
}
response[i].setPosition(i + 1);
response[i].setCustomerId(players.get(i).getCustomerId());
}
Для таких начальных условий, как обозначено в комментарии в начале кода, формируем список игроков.
Особенно вдохновляет самая последняя инструкция в теле цикла.
wissenstein,
09 Октября 2013
-
+81
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
public static void trustAllHttpsCertificates() {
// Is the deprecated protocol setted?
if (isDeprecatedSSLProtocol()) {
__trustAllHttpsCertificates();
} else {
_trustAllHttpsCertificates();
} // else
} // trustAllHttpsCertificates
Captain Obvious поучаствовал?
P.S. Похоже, это писал старый программист, закалённый в борьбе с VisualBasic.
wissenstein,
14 Февраля 2013