Какая архитектура / улучшения / шаблоны хотели бы Вы видеть запись в аду? [закрытый]

// using System.Collections;
// using System.Collections.Generic;
// using System.Linq

public delegate string Indexer<T>(T obj);

public static string concatenate<T>(IEnumerable<T> collection, Indexer<T> indexer, char separator)
{
    StringBuilder sb = new StringBuilder();
    foreach (T t in collection) sb.Append(indexer(t)).Append(separator);
    return sb.Remove(sb.Length - 1, 1).ToString();
}

// version for non-generic collections
public static string concatenate<T>(IEnumerable collection, Indexer<T> indexer, char separator)
{
    StringBuilder sb = new StringBuilder();
    foreach (object t in collection) sb.Append(indexer((T)t)).Append(separator);
    return sb.Remove(sb.Length - 1, 1).ToString();
}

// example 1: simple int list
string getAllInts(IEnumerable<int> listOfInts)
{
    return concatenate<int>(listOfInts, Convert.ToString, ',');
}

// example 2: DataTable.Rows
string getTitle(DataRow row) { return row["title"].ToString(); }
string getAllTitles(DataTable table)
{
    return concatenate<DataRow>(table.Rows, getTitle, '\n');
}

// example 3: DataTable.Rows without Indexer function
string getAllTitles(DataTable table)
{
    return concatenate<DataRow>(table.Rows, r => r["title"].ToString(), '\n');
}
5
задан 4 revs, 2 users 88% 26 January 2013 в 09:01
поделиться

7 ответов

Python. Потому что пробелы не должны иметь смысла, кроме случаев крайней необходимости. :-D * утки *

C ++. Грязный взлом поверх C, позволяющий ООП, приводящий к ужасающему синтаксису и отсутствию сборки мусора, вместо того, чтобы полностью переработать ООП, как Java или C #. * снова утки *

ШАПАЕТ. Название говорит само за себя.

Инфраструктура ООП Perl5 - выглядит как неприятный взлом над языком, который изначально не предназначался для ООП.

7
ответ дан 18 December 2019 в 06:51
поделиться

Одноэлементный шаблон (также известный как глобальная переменная в шаблоне маскировки).

5
ответ дан 18 December 2019 в 06:51
поделиться

Многоуровневая конструкция. В следующий раз, когда я унаследую «решение», содержащее функционально пустой проект «BusinessObjects», я собираюсь кого-нибудь задушить. Я поражен тем, что этот образец все еще так распространен спустя 15 лет после того, как я впервые столкнулся с ним. Как я уже сказал в другом ответе, наслоение отлично подходит для лазаньи, но автоматически не подходит для всего программного обеспечения.

http://thedailywtf.com/articles/the-mythical-business-layer.aspx

4
ответ дан 18 December 2019 в 06:51
поделиться

Архитектура Big Ball of Mud , хотя в данном случае это скорее недостаток изобретений, чем новых.

3
ответ дан 18 December 2019 в 06:51
поделиться

Большой дизайн спереди

2
ответ дан 18 December 2019 в 06:51
поделиться

Все без исключения "улучшения" BASIC. BASIC с самого начала был сломан. VB был попыткой исправить это, но - FAIL . Затем был создан VB.Net, так что к тому времени, когда люди осознают, в каком беспорядке они оказались, они окажутся по колено в аду.

2
ответ дан 18 December 2019 в 06:51
поделиться

Честно говоря, я бы хотел увидеть Java , горящую в аду, или, по крайней мере, они должны создать полный римейк (я знаю, что уже есть такой под названием C # ).

0
ответ дан 18 December 2019 в 06:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: