- 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
CREATE TABLE [dbo].[TBL_JOUR_PRODUCTION_PLAN_KK_BH](
[JPPKKBH_ID] [uniqueidentifier] NOT NULL,
[JPPKKBH_JPKKBH_ID] [uniqueidentifier] NOT NULL,
[JPPKKBH_WC_ID] [int] NOT NULL,
[JPPKKBH_DATE] [datetime] NOT NULL,
[JPPKKBH_QTY] [numeric](30, 5) NOT NULL,
[JPPKKBH_QTYF] [numeric](30, 5) NOT NULL,
[JPPKKBH_COMENT] [varchar](8000) NULL,
[JPPKKBH_DESCRIPTION] [varchar](8000) NOT NULL,
[JPPKKBH_WHO] [varchar](150) NOT NULL,
[JPPKKBH_WHO_ID] [uniqueidentifier] NOT NULL,
[JPPKKBH_WHEN] [datetime] NOT NULL,
(
CREATE TABLE [dbo].[TBL_JOUR_PRODUCTION_PLAN_KK_BH_HISTORY](
[JPPKKBHH_ID] [uniqueidentifier] NOT NULL,
[JPPKKBHH_JPPKKBH_ID] [uniqueidentifier] NOT NULL,
[JPPKKBHH_JPPKKBH_JPKKBH_ID] [uniqueidentifier] NOT NULL,
[JPPKKBHH_JPPKKBH_WC_ID] [int] NOT NULL,
[JPPKKBHH_JPPKKBH_DATE] [datetime] NOT NULL,
[JPPKKBHH_JPPKKBH_QTY] [numeric](30, 5) NOT NULL,
[JPPKKBHH_JPPKKBH_QTYF] [numeric](30, 5) NOT NULL,
[JPPKKBHH_JPPKKBH_COMENT] [varchar](8000) NULL,
[JPPKKBHH_JPPKKBH_DESCRIPTION] [varchar](8000) NOT NULL,
[JPPKKBHH_JPPKKBH_WHO_ID] [uniqueidentifier] NULL,
[JPPKKBHH_JPPKKBH_WHEN] [datetime] NOT NULL,
[JPPKKBHH_OPER] [int] NOT NULL,
[JPPKKBHH_WHO_ID] [uniqueidentifier] NOT NULL,
[JPPKKBHH_WHEN] [datetime] NOT NULL,
(
inho 25.07.2017 23:35 # 0
inkanus-gray 26.07.2017 14:22 # 0
inkanus-gray 26.07.2017 14:24 # +1
Kaldblpb 26.07.2017 15:33 # 0
Новому программисту будет чрезвычайно сложно в ней работать.
Dummy00001 26.07.2017 18:49 # 0
с какой то вероятностью - не говно. потому что даже в имени второй таблицы стоит: HISTORY.
часто (в финансах, например; но не только) нужно держать не только текущие данные, но так же и данные на момент совершения транзакции (versions & history).
Kaldblpb 26.07.2017 23:01 # 0
аргумент был железный - "если надо поле переименовать, проще найти где оно встречается" ) не поспоришь, а то что с этим потом работать и возможно уже не нам, насрать... Реально, в такой базе разберется только тот, кто эти таблицы создавал. Все выше написанное - моё ИМХО, основанное на многолетнем опыте.
Если есть сторонники префиксов, с удовольствием поспорю)
roman-kashitsyn 27.07.2017 12:00 # +2
Kaldblpb 27.07.2017 12:15 # 0
d_fomenok 27.07.2017 14:07 # +1
AwesomeProject_AwesomeClass_AwesomeField
bormand 27.07.2017 18:32 # 0
Уже было в джаве:
roman-kashitsyn 27.07.2017 18:59 # +2
CHayT 28.07.2017 17:47 # +2
roman-kashitsyn 28.07.2017 18:46 # +1
inkanus-gray 03.08.2017 23:31 # 0
roman-kashitsyn 27.07.2017 12:33 # +4
M(Butthurt) = Butthurt(Reading) * p(Reading) + Butthurt(Writing) * p(Writing) + Butthurt(Rename) * p(Rename)
Предположим, теперь, исходя из наблюдений, что код читается в 10 раз чаще, чем пишется, и новый код пишется в 50 раз чаще, чем переименовываются сущности. Сравним матожидание боли с префиксами и без префиксов, положив
Butthurt(Reading | Prefixes) = over 9000
Butthurt(Reading | No Prefixes) = 1000
Butthurt(Writing | Prefixes) = over 9000
Butthurt(Writing | No Prefixes) = 2000
Butthurt(Renaming | Prefixes) = 1000
Butthurt(Renaming | No Prefixes) = 5000
M(Butthurt | Prefixes) = 9000 * 500 / 551 + 9000 * 50 / 551 + 1000 * 1 / 551 ~= 8985
M(Butthurt | No Prefixes) = 1000 * 500 / 551 + 2000 * 50 / 551 + 5000 * 1 / 551 ~= 1098
Итого, суммарное кол-во попоболи от префиксов в рамках нашей модели почти в 9 раз больше, чем от их отсутствия.
ChezterLP 24.08.2017 08:44 # 0
Kaldblpb 26.07.2017 23:05 # 0
Говнокодом, как таковым, написанное вовсе не считаю)